How to control Windows Phone 8 Silverlight app from PC - silverlight

I have an app written that I need to automate. I'd like to do the following:
Start the app remotely from a PC + USB, preferably via command
Trigger the event handlers for certain button presses
Keep in mind that this is a WP8 Silverlight app. Any suggestions would be appreciated!

This launches an app from PC:
XapDeployCmd.exe /launch <Product ID/Xap FileName> <targetdevice[:param]>
You can get targetdevice[:param] from XapDeployCmd.exe /enumerateDevices. You also know the Product ID of your app.
This XapDeployCmd is in C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Tools\XAP Deployment
Example
XapDeployCmd.exe /launch f8ce6878-0aeb-497f-bcf4-65be961d4bba /targetdevice:0
To trigger event handlers
Install WAMP (or any server package) on your PC.
Write a simple GET/POST script
When a button is pressed, change a value in database
From the other device, regularly poll for changes in the same database entry

Related

How to add WPF app to "Choose which apps can access your precise location" list in Windows 10?

I have a .NET Framework 4.6.2 WPF app that uses Windows.Devices.Geolocation API to get Latitude and Longitude on Windows 10. It uses the Microsoft.Windows.SDK.Contracts NuGet package, version 10.0.19041.1. It is able to get location information when "Allow desktop apps to access your location" is on in Location Privacy Settings.
The first time location information is requested I want to get the prompt for permission to use precise location if it is not enabled. I am calling RequestAccessAsync() before calling GeoLocator.GetGeopositionAsync(), but get no prompt.
I have tried making a sparse package with the Location capability enabled and registering it, and am able to get a package ID in the WPF app, but still get no prompt.
I have tried using System.Windows.Application.Current.Dispatcher.Invoke() to run RequestAccessAsync() on the UI thread as this says it must: https://learn.microsoft.com/en-us/windows/uwp/maps-and-location/get-location#step-1-request-access-to-the-users-location
You must call the RequestAccessAsync method from the UI thread and your app must be in the foreground.
But get no prompt.
I am thinking that the app needs be listed in the "Choose which apps can access your precise location" list in Location Privacy Settings for this to work. How do I do that?
I want to get the prompt for permission to use precise location if it is not enabled ...
You will no longer get a prompt. See my answer here for details.
What you should do is to prompt the user to change the setting himself/herself in the Settings app.

Why does the MSIX not automatically check for updates every time the application runs when sideloading is enabled?

Question:
Why does the MSIX not automatically check for updates every time the application runs when sideloading is enabled?
Context:
We are migrating a WPF application to Azure and have created an MSIX installer with sideloading enabled and set to check for updates every time the application launches. Accordingly, the *.appinstaller file is as follows:
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
Uri="https://<AppService>.azurewebsites.net/<AppName>.Setup.appinstaller"
Version="1.0.1.0" xmlns="http://schemas.microsoft.com/appx/appinstaller/2017/2">
<MainBundle
Name="<SomeGuid>"
Version="1.0.1.0"
Publisher="CN=<CertificateName>"
Uri="https://<AppService>.azurewebsites.net/<AppName>.Setup_1.0.1.0_Development_Test/<AppName>.Setup_1.0.1.0_x64_Development.msixbundle" />
<UpdateSettings>
<OnLaunch
HoursBetweenUpdateChecks="0" />
</UpdateSettings>
</AppInstaller>
Unfortunately, every time we publish an update to the package to Azure, the application does not automatically check for any updates, and so it does not prompt us to update. However, when we go to the application's published weblink and click to install, the installer will see that the application is already installed and that an update is available.
Troubleshooting:
We tried adding to the app manifest's Content URI (tab) to the *.appinstaller site, but that did not work. I noticed that the *.appinstaller is appending the text _Test to the path name. I am not sure why that is being added. I have tried recreating the installer package in order to rule out any potential configuration errors. Could that be the source of the problem?
I have also enabled Use developer feature and followed all other instructions provided by Microsoft here: https://learn.microsoft.com/en-us/windows/application-management/sideload-apps-in-windows-10
Note: we tried creating a ClickOnce publish profile and that works. It does not make sense why sideloading works for ClickOnce but not MSIX.
From what I see here you need to update the schema to 2018:
xmlns="http://schemas.microsoft.com/appx/appinstaller/2018"
Also, what version of Windows 10 are you running? I see the appinstaller update settings have been introduced gradually, older versions of Win 10 do no support all of them.
Another older issue from 2019 seems to highlight a limitation for apps launched via a desktop or taskbar shortcut.

Getting Error while adding File System ISE Logic App Connector

I have created an ISE Logic Apps environment, and am trying to add the FileSystem ISE connector to the Managed connectors list, as it does not appear in my default list. When I click on '+Add', I can see the File System connector in the drop down that comes up, but when I select it & click on 'Create', I get the following error:
Failed to create connector 'isefilesystem'
Operation name
Set Integration Service Environment managed API
Time stamp
Mon Jan 13 2020 16:53:24 GMT+0000 (GMT Standard Time)
Event initiated by
xxxxxxxxx#xxxx.xxx
Error code
IntergrationServiceEnvironmentManagedApiDefinitionTagsNotSupported
Message
The tags are not supported in the managed API 'isefilesystem'.
The ISE File System connector is available. The ISE File System connector will not be automatically added to the ISE, you will need to manually add it yourself. Our engineers are working on getting that automatically added with new ISE deployments.
Here are steps from the document to add it manually to the ISE :
On your ISE menu, under Settings, select Managed connectors. On the toolbar, select Add.
On the Add a new managed connector pane, open the Find connector list. Select the ISE connector that you want to use but isn't yet deployed in your ISE. Select Create.
Only ISE connectors that are eligible but not yet deployed to your ISE appear available for you to select. Connectors that are already deployed in your ISE appear unavailable for selection.
Checkout this GitHub issue as well for details.
File system connectors is not yet available in ISE. You can use the shared connector (With gateway) in a Logic app in ISE till it is available.
It is on-premises data gateway. Yes there is already a work items for this and it is in progress and will be there in near future but this timeline is subject to change. As far as new features go, we are not able to disclose much at this time.
Also you could vote up this feedback to promote this feature to be achieved quickly.
I am having problems with the ISE Create File (Preview).
I have an API Connection defined with the Root Folder setting using dot notation, e.g. 192.168.1.23, because there is a DNS issue with hybrid cloud-on-prem lookup, or so I am told.
The Logic App portal editor in Designer mode behaves strangely when configuring the folder path in the Create File action. When using the pop-out folder picker I see "The use name or password is incorrect".
I have made sure that the credentials are correct and have tested successfully via other means.
Is there a work around?
Is this a known issue?

Silk4j - how to connect to remote machine and start application there?

I have been using SilkTest for long time now, in 4Test connecting to remote machines and working on remote applications was so smooth. I have recently started to look at Silk4J (SilkTest 15.5) and trying to do remote connect and start some applications, so far unable to do.
I used Desktop remoteDesktop = new Desktop("remoteMachineName") to connect to remote machine but now stuck on starting applications there.
Any help here would be really helpful
With creating a Desktop instance for the remote machine you've done the first step.
Next you'll need to specify which application you want to test. Both locally and remotely how you do this is with a Basestate.
For example, assume you'd want to test notepad:
Desktop remote = new Desktop("remoteMachineName");
BaseState base = new BaseState("notepad.exe", "//Window[#caption='*Notepad']");
Window notepad = base.execute(remote);
Alternatively, you can set up a configuration for your project in the IDE integration by going to Silk4J > Configure applcations... and select Notepad.
Then the code would look like this:
Desktop remote = new Desktop("remoteMachineName");
BaseState base = new BaseState();
Window notepad = base.execute(remote);

Silverlight webapplication white screen of death

I'm having an white screen of death when trying to debug my silverlight application. The problem is that I don't know what causes it and I don't get any type of information from either Visual Studio or the browser itself (IE9). Breakpoints won't be hit as App() in the App.xml.cs doesn't get fired either.
The application works fine on my own laptop, but I'm trying to make final adjustments to it on the server which will host the application once it's done. The problem occures on this server.
Would there be any way to get information about what's causing it or did someone experience simulair issues?
hit F12 in IE and go to network and start capturing. You should see your error there if something went wrong downloading and also if there was a problem with the Silverlight plugin (check Console or Script tag).
There could be a number of reasons for this including problems with database connectivity, WCF services, and many other factors. One thing that might help you get some information is a product called Fiddler. If you are able to download and install that on your development machine, you can have it running when you try and access your application on the server. It will give you messages for every step of your application initialization, including database authentication, service authentication, the xap file transfer, etc.
My problem was related to init params not loading up from the web project's .aspx page, try having a look at this if you are having "white death screen" issues.

Resources