Windows 8.1 Installation Woes - EV Certs and Elevated Privileges - windows

I've just had to jump through hoops to get my application to install on Windows 8.1 and I'm concerned for my users. I'm testing the installer inside Parallels on my macbook.
First of all I had to disable SmartScreen as this just completely borked everything and wouldn't allow the installer to run at all. I'm not really happy to just tell my users to turn this off as that doesn't really make much sense.
After I jumped through that hoop Windows wouldn't allow my installer to access the C:\Program Files(x86)\ directory without administration rights. I have only one user on the machine that is in the administrators group and I was running the installer through that account.
There also wasn't a Run as Admin option in the context menu so I had to open a Command Prompt as Administrator and issue the following command:
net user administrator /active:yes
Then reboot the machine.
Since I'm a one man band operation making a free app I'm seriously short on beta testers and I can't justify getting an EV certificate to sign the installer with etc.
Seems making / distributing apps for Windows is getting harder and also trashing the user experience in the process.
What are the real options to make things better for my users?
The installer technology is WiX and I already set the following in the installer:
<Property Id="MSIUSEREALADMINDETECTION" Value="1" />
In the Product element I also already set the following:
InstallScope="perMachine"
InstallPrivileges="elevated"

Related

Workaround for 'Apps & features' in Windows 10 starting a single-user uninstaller elevated

When users try to uninstall their own single user installation (for example installed using lowestprivileges none and HKCU entries) with 'Add/Remove Programs' in the Control Panel, everything works fine (that is, non-admin users can uninstall their own non-admin installation).
However the uninstaller will be elevated, when users start it from 'Apps & features' (Windows 10).
This seems to be a known Windows 10 bug:
How to prevent uninstaller elevating for Standard Windows 10 user?
Is there a way to work-around this issue when the Inno Setup uninstaller is started from 'Apps & features'?
Link this NSIS Workaround for Windows uninstaller elevation bug.
You will have to do exactly what that NSIS hack does.
Find out what is the Windows GUI user (and assume that you should uninstall as that user). Alternatively, you can store the username into some file in the installation folder.
Re-execute the installer as that user. That hack uses StdUtils NSIS plug-in with its ExecShellAsUser function. Maybe the DLL can be used from Inno Setup. If not, you can at least reuse its code.
All this is imo to much to ask in a single question. If you have specific problems, consider asking more specific questions.
Simpler alternative would be to prevent the uninstallation, when executed as different user, and show a suggestion to the user to go to Control panel instead.
For a similar question, see Uninstaller trouble with standard Windows user.

Creating Symlinks in Win10 non-elevated?

Looking at this answer I see that someone has commented that is having the same issue, and a day of googling hasn't found me an answer.
Win10 (I'm on enterprise here at work) won't allow me as an admin user to create symlinks on a non-elevated Powershell or Command Prompt, though elevated prompts of either flavor work as expected. We have a custom tool written in Python for asset management that heavily uses symlinks that we're porting from OSX/Unix to Windows for a number of reasons. UAC is turned off as shown here, I'm an admin account on the computer. We have not yet tested on a non-admin account because this is a tool both admins and non-admins use daily, and elevated prompts require us to remap our network drives on every reboot.
Here's my security policy showing everyone should have access. Is there something obvious I'm missing?

Automatically elevate Windows setup to admin mode

We have legacy desktop native app with custom setup. The setup is signed and must be run as administrator. Current prod setup EXE that was built and signed 5 years ago is automatically elevated and run as admin on Windows 7 or 8. The setup we rebuilt now and is also signed with different cert and has the same name as old one is not automatically elevated to admin and therefore fails.
What makes Windows to run the setup EXE automatically as admin?
Signing is not related to admin privileges, so don't worry about it in that respect.
To expand on Harry Johnson's comment (which is correct), early versions of UAC on Windows used to automatically elevate programs that looked like setup programs. I don't know the exact algorithm used, but programs with setup or install in the names or descriptions were elevated. That doesn't happen any more, and on UAC programs run by admins are not elevated unless they explicitly elevate with a manifest or a run as administrator.
Without knowing where that setup.exe comes from, if you build it. or it comes with a version of a setup tool (Visual Studio?) then it's hard to say how to fix it.
If this happens to be an MSI-based install then the MSI will ask for elevation if it's marked that way. It's not clear from the question which part of the setup requires elevation, but if it's setup.exe that actually does the install, then all of it needs elevation and it needs an elevation manifest.

"We couldn't get your developer license for Windows 8", error 0xC03F1014

Whenever I try to get my developer's license in Windows 8 Professional with WMC for Visual Studio Ultimate with Blend, I get this error:
We couldn't get your developer license for Windows 8. (Error 0xC03F1014)
How do I fix this error to get my developer's license?
If your copy of Windows 8 is cracked or activated illegitimately then you'll get this error.
If for whatever reason you don't want to / can't get a legitimate copy, then deactivating the crack to go back to the trial period, acquiring the license then re-activating it should fix this issue.
Try to follow these steps:
Create a temporary user account in windows 8
Install a fresh copy of VS 2012
Now try again. It should work now, then log out again and go back to your normal account. Now develop apps and deploy it. Hopefully it works for you.
You need not re-install the OS or the Visual Studio
Start the Task Scheduler service. This is usually disabled in enterprises/large organizations via Group Policy.
This situation happened to me after installing Windows 8 Pro Upgrade as a CLEAN installation. The problem was that the valid License Key failed to activate because a previous version of windows was not upgraded. Because it wasn't activated properly, the Developer License would also not register.
The following steps enabled me to activate the clean install:
Run the registry editor (regedit)
Find the following key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OOBE
Change the value for 'MediaBootInstall' from 1 to 0
Open an elevated command prompt (run as admin)
Run the following command: slmgr -rearm
Reboot
Open an elevated command prompt (run as admin)
Run the following command: slui 3
Activate your valid Window 8 Pro Upgrade License Key
After my Windows 8 was properly activated, the Developer License renewed with no problems!
I was facing same issue. Error was due to Proxy Server. I was using internet by setting proxy server. U should have open internet to get the developer license.
See these type off error occurred to me . The scenario was I was connected to a proxy server and my proxy server was not allowing popup logins .
Check your internet connection and If the problem is not solved, reinstall VS
Run Visual Studio 2012 as administrator. It should prompt you automatically for the license. I had to login to my MSDN account at this time. If it doesn't come up, then go to Project -> Store -> Acquire Developmer License. This is what did it for me.
I had the same issue, with the additional information that there was a problem with the network (even though my network was fine).
For me, the problem was that my own user is a limited/normal user and doesn't have administrator rights. I did get a UAC prompt when I tried to get a license and I elevated the process to use my separate administrator account, but it didn't work.
What did work however was logging out from my normal user, signing in as my administrator account and try to get a developer license that way.
So apparently running under a non-privileged user is not something that VS2013 appreciates in scenarios like this. I'm not sure why there is a difference between elevating a process' rights through UAC and actually logging in as an elevated user.
Make sure you have all Windows Updates installed. If you can't update:
Install KB2913270 (x86/x64) (original info by Ahmad Wahid, thanks :))
Other tips:
Check the system date and time (it must not be ahead on their systems)
Try to disable NlaSvc service (Network Location Awareness)

Adobe AIR non-Administrator application installation/upgrade on Windows

Is there any way to allow non-Administrator users to install, upgrade or uninstall an Adobe AIR application on Windows?
I've made an Adobe AIR application and packaged it as a .air package using the standard AIR mechanism for creating deployment packages. If a normal or Power user tries to install this AIR application, the Application Event Log shows an error saying administrative rights are required. And even if the user elevates during installation, administrative rights are still required for an upgrade using the automated AIR upgrade system (since an upgrade is essentially, behind the scenes, an uninstallation of a .msi package followed by an installation of another .msi package).
Is there any way around this?
What I've tried so far is:
Using the Group Policy editor, setting Windows Installer to elevate during installations. Doesn't work, since AIR attempts a "for all users" installation.
Specifying My Documents as the installation directory. Doesn't work, since AIR attempts a "for all users" installation.
Giving the user Modify access to the Program Files folder where the application would usually reside. Doesn't work, since this isn't a file permissions issue.
Making the user a Power User. Doesn't work, since AIR attempts a "for all users" installation.
I'm guessing that both installing and upgrading would work fine for a user if
the AIR installer would attempt to make an "only for me" application installation instead of a "for all users" installation, and
the user was a Power User, and possibly
the application was installed to My Documents
I'm also guessing that this problem doesn't exist on OSX and Linux, since they have more intuitive concepts for per-user application installations.
EDIT: As of Adobe AIR 3, you can use a "captive runtime" to avoid the administrator install of AIR. See the descriptions here and here. Disclaimer -- I haven't actually tried this.
ORIGINAL answer for pre-AIR 3:
There does not appear to be any way to work around this according to the AIR 1.5 Administrator's Guide section on installing apps, which states:
On Mac OS, to install or update an AIR application, the user needs to have adequate system privileges to install to the application directory (and administrative privileges if the application needs to update the runtime). On Windows, a user needs to have administrative privileges.
So this limitation apparently applies to all supported OSs. The tone of the document throughout makes it quite clear that AIR is designed to assure system admins that users will be appropriately locked down. AIR is not the happy pathway from browser to desktop that I'd hoped.
This description of using the Air SDK to run the application might work on windows, too: http://agoln.net/archives/106
Not sure how that interacts with auto-update...

Resources