How can I sign a Windows Mobile application for internal use? - security

I'm developing a Windows Mobile application for internal company use, using the Windows Mobile 6 Professional SDK. Same old story: I've developed and tested on the emulator and all is well, but as soon as I deploy to advice I get an UnauthorizedAccessException when writing files or creating directories.
I'm aware that an application installed to a device needs to be signed but I'm running into roadblocks at every turn:
Using the project properties 'Devices' window I select 'Sign the project output with this certificate, and choose one of the sample certificates from the SDK. This results in a build error: "The signer's certificate is not valid for signing" when running SignTool.
If I try to run SignTool.exe from the commandline, I get an error telling me to run SignTool.exe from a location in the system's PATH.
I can't use the 'Signing' tab in the Project Properties to create a test certificate - this is greyed out (presumably for WinMobile projects?).
If at all possible, I would like to avoid having to go through Versign or the like to get a Mobile2Market certificate. If I have to go this route for a final version that's fine, but I need to at least be able to test the app on real devices.
Any advice would be most welcome!

First, make sure you really do need to sign it (you might be able to adjust the device security model).
If you do, then run signtool.exe, but from a Visual Studio command prompt. The easiest way to get there is fromt he Start menu, select Microsoft Visual Studio 2008->Visual Studio Tools->Visual Studio 2008 Command Prompt. This will set up all the proper pathing for you.

Related

Why don't virtual devices on android studio start up

I want to use the DJI SDK Mobile SDK to fly a drone.
SO,I use the DJI Developer site (https://developer.dji.com/mobile-sdk/documentation/application-development-workflow/workflow-integrate.html)to integrate android studio projects.
However, even if the program is entered according to the site, "Hello, world" is not displayed on the virtual device.
Specifically, "import SDK Demo keep stopping." is displayed after the app starts for a moment on the virtual device.
Please help me !!!
Android Studios version : 3.5
Mobile SDKs version :4.2
I tried Android Studio with some version(ex.3.0/3.5).But, everytime "Hello, world" is not displayed on the virtual device.
Without having more details about what you've done, it is hard to say what your problem is.
HOWEVER, the SDKs require an "Application Key" to be generated via your DJI account, whereby you access a special web page that allows you to give a name to the App you propose to create, as well as a bundle identifier like : com.yourCompany.yourNewApp. After providing such basic "App" info's that DJI webpage will generate a long hexadecimal number which is your App Key. So again, without that App Key (number) being added (edited into) to your App, you will not be going anywhere. DJI uses this App Key for keeping track of all developer's Apps, and where those Apps are running.
Specifically, the DJI SDK gives an immediate error as soon as the SDK initialization is attempted, when/where attempted without a valid App Key.
So again, without more details from your problem, it is hard to say that the problem/solution (stated here) applies to you. But this certainly is a very common "newbie" or "getting started" problem.

Xamarin.ios Error MSB6006: "codesign" exited with code 1

When trying to test my app on my device iPhone, I get the following error, I think it's something about registering my device.
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(3,3):
Error MSB6006: "codesign" exited with code 1. (MSB6006)
(multifacturacion.iOS)
The strange thing is that this same device in another mac with xamarin if it works and with the same project.
If someone can help me with this, I have several days looking for a solution.
This went away for me after I cleaned the solution in Visual Studio.
(yes this is a complete answer, there are no citations, this is just what I did to fix it).
Open the info.plist and check "Automatic Provisioning".
Thing is, I am having this error regularily. I am working with a local developer certificate created on my Mac using a free Apple Id, but without a paid Apple Developer Membership. I am using a Windows based devloper workstation and program in Visual Studio 2019 with Xamarin.Forms 4.0. To get local deployment working again, I need to visit the general settings on my iPhone and remove my trusted account from the list of developer apps under device management which basically not only removes the account but also the app from the device.
Then I need to remove all occurances of the corresponding certificate on my Mac within the Keychain Utility and even the mobileprovision file on my harddrive located somewhere beneath my user directory.
Now I have to Start XCode on my Mac, open the project, I am working on and have it automatically "repair" the signing certificate which basically creates a new one and registers it in the Keychain. The moment I run the app from XCode, I need to always allow keychain access and on my iPhone I can see the account appear in the general settings again which I have to manually trust... again.
THEN I can open the corresponding project in my Visual Studio on my Windows Developer Workstation, rebuild and deploy the app and get no errors.
Without being able to say why, it could happen even the next time I try to build and deploy the app, that this error happens again... this is very (!) inconvenient and I didn't find any real solution for it yet...
remove your certificates from keychains and add again, close Info.plist open and fill de information on bundle singing option, that works for me, remember link your device with you provisioning.
The answer of Mephisztoe worked for me, except that I am working on Windows and you find the scheme-property in the project-settings and not in the plist-file.
Furthermore be sure that you installed fastlane (just open Extras > Options > Xamarin > Apple-Accounts and click on "install fastlane") and added your Apple-ID there.
I also deleted the certificate with the keychain-utility. That's why I had to reenter my password on the mac as I clicked on build on my windows machine.
With these steps done I can finally work again...
If the certificate of Apple developer is expired, you can get the error like "codesign", so you need to create a new certificate in Apple Developer site (https://developer.apple.com/account/), then download & install to your computer.
I have been struggling with the same issue for several days, the error came only when I tried to publish the app from my Windows VS 2019. It had no further details of why it was behaving like this.
What I changed was:
Created New Publishing Profile & Certificates
Instead of selecting Release in Configuration as suggested in this Microsoft article, I selected AppStore from the configuration.
Tried to recreate the archive and it was completed successfully.
Now when I tried to publish it, I encountered few error messages, I fixed them and submitted the app again. It worked fine.
For me, the issue was that there was a popup asking for a password on the network-attached Mac. I had to VNC into it and enter the password.
For some reason the first time I did this (and chose "always allow"), it failed again with this error, but the second time I ran it succeeded.
You'll want to make sure to have an app-specific password ready if you haven't already generated one. I have no idea why, but it prompts you for one in VS.

How to create appxbundle that does not require developer license

I am working with the infrastructure team on deploying a Windows 10 Universal app and running into some roadblocks. They are currently requesting a release version application that does not require a developer license to install. They are using SCCM, a tool that I am not familiar with, and are only being presented with OS requirements of Windows 10 Mobile (not Windows 10 (x86), (x64)) and are on hold until I solve the developer license issue.
Here is what I have done:
Create appx bundle via Visual Studio 2015 Professional
I chose that it will NOT be uploaded to the store
Used x86 and x64 in release mode for the configuration
License used from a domain CA for code signing and appears to work
Enabled "Allow all trusted apps to install" in local GP editor (my dev device)
Enabled sideloading in settings/update & security/for developers
When running the Powershell script, I am greeted with "Before installing this app, you need to do the following: - Acquire a developer license" and then it does some administrator prompting and cannot acquire a developer license.
If I put the device in developer mode, the script runs flawlessly and the application runs as expected.
Am I missing something that is causing me to require a developer license? Does it have anything to do with the package folder ending in _Test? It is the only output that it creates.
If I can provide any additional information, let me know. Thank you!
OK... I finally figured it out. It was nothing to do with the configuration or the app packaging. It was the Visual Studio 2015 generated PowerShell script that was requiring the developer license (Developer Mode). If I simply ran my own Add-AppxPackage PathToAppxBundle in PowerShell, it installed without certificate or developer prompt in Sideload mode. Note that the certificate is already installed via group policy in my case.

Deploy Windows Apps to Family and Friends without store, enterprise or development-tools

I wrote a App for my family/friends and now we would like deploy it on or PCs. Publishing it in the store is not an option and not everyone has an Widows Live account. Sideloading isn't an option, because we do not own a Enterprise edition.
I found only the three already described ways. Either by publishing it in the store, using the development tools or having the enterprise edition.
Is there a fourth way to deploy a Windows UWP App without using the Windows Store or the need to install a developer certificate? If not, is there a possibility that something similar will be possible in the future?
The Windows 10 Deployment Tool looks like the thing I'm looking for, but i seems to be for mobile phones, or am i wrong?
The future is now! The process is easier on Windows 10 and the linked questions aren't relevant to that version. On Windows 10 users can enable developer mode or side loading in system settings on the "Update & security" page, in the for developers section.
See https://msdn.microsoft.com/en-us/library/windows/apps/dn706236.aspx
now with Windows 10 Anniversary update, you could just double click *.appxbundle file to install
Steps:
create your package, select no, when prompt "Do you want to build packages to upload to Windows Store?"
go to the package folder, double click *.cer, and install the certificate to Trusted Root Certification Authorities
double click *.appxbundle to install
Client OS Requirement: Win10 14393
UWP Target SDK: 14393
UWP Min SDK: 14393
On the target device, open the test folder. For example, C:\Projects\MyApp\MyApp\AppPackages\MyApp_1.0.2.0_Test
Right-click on the Add-AppDevPackage.ps1 file, then choose Run with PowerShell and follow the prompts.
Click the Start button and then type the name of your app to launch it.

Installshield sideload: app not start after install

I have a problem with a Windows 8.1 app that I want to deploy by sideloading.
I installed InstallShield premier to test it's feature, and generated an installation package that contains appx file and a test certificate file created by visual studio (associated in installshield project properties).
I need to enable app distribution in group policy settings to install.
After app correctly installs on system, i found it in start menu, but when i try to run the app, windows shows a popup that says "there is a problem with this app, contact administrator".
Target system is a Windows 8.1 Pro 32 bit PC.
Id there any other settings that I must enable on target system before install the app with InstallShield?
Thanks
There are multiple requirements for sideloading to work, documented on technet, which I've summarized here:
Activate the sideloading product key on the device OR join the device to an Active Directory domain (except for certain embedded devices which do not require either of these).
Enable the Allow all trusted applications to install Group Policy setting.
Since you don't mention it, I'm going to guess that your machine has neither the sideloading product key nor a domain membership (nor is it one of the special embedded cases), so that's where I'd start.
For more troubleshooting ideas, see some blogs like Sideloading Store Apps to Windows 8.1 Devices or How Do I Deploy a Windows 8 App to Another Device for Testing?

Resources