Why Don't Windows 10 Apps Require Key-Signing? - windows

In both iOS and Android I noticed there is a process to privately sign apps before publishing it to their respective stores.
However, in the Windows 10 Universal App Process I haven't found this to be the case. How does Microsoft get away without requiring the developer to sign their app? Or does Visual Studio / dev.windows.com somehow take care of this behind the scenes?

When you generate an app package to upload to the Windows Store (typically via Visual Studio, I'm not actually sure if there's a command line alternative), it is signed by VS. The key is linked to your Windows Store Developer account, which is why you have to sign in to the correct dev account when building a release.
Edit: This is somewhat out of date (VS2012/Windows 8 era), but it goes into more detail (and talks about the alternatives to VS that do seem to exist - MakeCert and Pvk2Pfx): https://msdn.microsoft.com/en-us/library/windows/desktop/jj835832%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

Related

Do I need OV or EV code signing certificate when packaging a classic desktop application for the Windows Store?

I want to add a desktop (WPF) application to the Windows Store using the Desktop Bridge (MakePri, MakeAppx). I have tested my build process using a self-sign certificate and all is well.
However, I cannot find any information stating whether I need an Extended Validation (EV) certificate or if an Organization validated (OV) certificate is sufficient. I know an OV certificate can cause SmartScreen warnings for installer .msi packages.
I also found old links (relating to Windows 8 apps) which say that the store does not use SmartScreen. But I cannot find anything relating to Windows 10 desktop apps packaged via the Desktop Bridge.
Will an OV certificate cause SmartScreen warnings when my converted application is downloaded from the store?
You don't need to use a valid certificate to publish your app to the Store. You just need to sign it with a test certificate. When you upload it to dev. center, it will be signed by Microsoft to be distributed through the Store.
I couldn't find a documentation that clarifies this, just saying it by my own experience. There are some notes here:
To test your app in a realistic setting as you prepare for
distribution, it's best to sign your app and then install it.
Visual Studio signs your app by using a test certificate. You'll find
that certificate in the output folder that the Create App Packages
wizard generates. The certificate file has the .cer extension and
you'll have to install that certificate into the Trusted Root
Certification Authorities store on the PC that you want to test your
app on.
Also if you use the new update of Visual Studio, you can create Desktop Bridge apps and publish them to the Store entirely through Visual Studio using the Windows Application Package project. It means you don't need to manually pack and sign it, VS does it for you.
Edit
Your users do not see an Smart Screen anyways. It makes sense since your app cannot run with administrator privileges. If your app needs a functionality that requires admin privileges, you need to consider it before moving forward.

Install windows app without store

I´ve developed a windows app with cordova/phonegap in visual studio.
I installed it for testing purposes with that instruction:
Cordova Visual Studio, install appx on windows tablet
Now, I want to install it on a few devices (Around 10) without publishing the app in the windows store.
With this instruction, I need a developer licence on each device. (and it is limited in time too)
Is there an other opportunity?
The recommended way is to perform bate app test. But you still need to publish it to the windows Dev center as described in this MSDN article.
For enterprise LOB apps, we can test it using Developer sideloading. But just as you've noticed, it requires developer licence on test device.

Does creating developer account on Windows Dev Centre during Targeted App Distribution provides with Enterprise Sideload key?

We have implemented a Windows 8 app. We tested the app by sideloading on both Windows 8.1 Pro and Enterprise. The app is working as expected when both the machines are connected to the domain. If both the machines are out of the domain, the app does not work and we receive the following error ‘This app can’t open. There’s a problem with app. Contact your system administrator about repairing or reinstalling it’. Also, in the event log the following error was displayed ‘Activation of the app 589f3680-7094-4066-92ee-75cd86b75bc1_5gyrq6psz227t!App for the Windows. Launch contract was blocked with error 0x80073CFC because its package is in state: Modified‘. We checked through on your sites and it is mentioned that Enterprise Sideloading key is mandatory for the app to work if the machine is not connected to the domain.
If we publish the app on Windows Store using ‘Targeted App Distribution’ method, do we still need to worry about the Enterprise Sideloading key or will the key be available when we will create a developer account on the Windows Center? Let us know.
Let us know if we are missing anything. Also, it will be helpful if you suggest any appropriate way as we need the Windows app to work without being connected to the domain.
Thanks
You could sideload the app if you have a developer license registered on the target machine. You can get a developer license via Visual Studio or with this powershell command:
Get-WindowsDeveloperLicense
However the developer license needs to be renewed every month.
See my answer here how to sideload an app:
sideload windows 8 apps to multiple devices?

Testing .xap on windows phone 8, without registration

I have got a .xap file, i mailed it and opened it in my windows phone 8.
It gives me company app error.
Also i tried it with deployment in visual studio, it runs fine with emulator but problem with device(zune software not installed) whereas i have installed it and it is not detecting the device.
My question is that can we test an application without any company registration on windows phone device, just for testing purpose.
I have got an microsoft account.
You can deploy the XAP, but you must unlock the device first.
Fortunately, it's now a free process, you don't need a devcenter account anymore. The only limitation is that you can deploy only two applications at a time (when deploying a third application, you must remove a previous one).
The procedure is described here: http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff769508(v=vs.105).aspx
I think Beta testing will help u.We can upload a build as beta version to the market for testing purposes.Have a look on the below link.
Beta Version in WindowsPhone
I think that the live test of phonegap (as you said you use it) will be great for you. Please see http://app.phonegap.com/ for more information.
You can check unsigned apps up to two apps on a free account.
If you have Visual studio installed, search for "Application deployment" from start or Run XapDeploy.exe. Test unsigned .XAP

Get executable Windows 8 app

I am developing a Windows 8 app (Modern UI) and I was asking if I could get the 'executable' of the app to install and test it in other computers without submitting the app to the market.
I am using the visual studio 2012 ultimate, if it helps.
Thank you in advance.
Right-click the project and choose Store - Create App Package and deselect uploading to the store. This will create a folder with the package for your app and all dependencies. Use the powershell script, which is also located in the folder to install the app. Normally if you run it for the first time it will probably ask you to change your ExecutionPolicy, but then it will install the app.
You can sideload an application on another machine without requiring the application be in the Windows Store.
One way, mentioned by Kai in another response to this question, leverages a developer license on the targeted machine. Because this mechanism uses a developer license it's not a suitable method for distributing apps for several reasons:
The license states "You may use the developer license only for the purpose of developing, testing and evaluating apps"
A developer license has a 30 (or 90 day) limit, after which the user will be re-prompted to renew the license; that's not a suitable experience for a 'finished' app.
Acquiring the license requires an internet connection, so the app may not start if offline.
The approved mechanism for distributing applications to the end-user outside of the Windows Store is via Windows 8 Enterprise or by purchasing enterprise side-loading activation keys for devices not running Enterprise (like RT). Some information on this process can be found here and here.

Resources