running clickonce applications in vista
-
hi all, i got a problem in vista, and i just don't get it.. the problem is the following, if i publish a new application (an empty form, just a plain new windows forms application) from a windows 2000 pc from Visual studio 2005, and i try to run it on a vista pc, i get an error "cannot launch application. please contact vendor". When checking the error log it says i need elevated rights to run the application. (errorcode 0x800702E4) I googled this a bunch of times, but no results which can help me. The weird part is: Every application published, lets say a week ago or earlier, works on vista, and launches without problems (also published from a win2000 pc in vs2005) If i publish a new version of an older application, then this application will also launch succesfully in vista. So its only new applications that i cant get working in vista??? I tried publishing a new windows forms application on my vista pc in vs2005, this application also launches succesfully I tried publishing a new version of a new application (which didnt work) from my vista pc in vs2005, this application won't work either. I guess it has to do something with the policies in Vista, but its strange that it only affects newly published applications published from Win2000, or existing non-working applications published from vista... It's a long shot, but does anyone here has any experience with problems like this? The only thing i can do as a workaround is making a new project on my vista pc, copying all the code in there, and publish it from there. *sigh*, got to love vista...
-
hi all, i got a problem in vista, and i just don't get it.. the problem is the following, if i publish a new application (an empty form, just a plain new windows forms application) from a windows 2000 pc from Visual studio 2005, and i try to run it on a vista pc, i get an error "cannot launch application. please contact vendor". When checking the error log it says i need elevated rights to run the application. (errorcode 0x800702E4) I googled this a bunch of times, but no results which can help me. The weird part is: Every application published, lets say a week ago or earlier, works on vista, and launches without problems (also published from a win2000 pc in vs2005) If i publish a new version of an older application, then this application will also launch succesfully in vista. So its only new applications that i cant get working in vista??? I tried publishing a new windows forms application on my vista pc in vs2005, this application also launches succesfully I tried publishing a new version of a new application (which didnt work) from my vista pc in vs2005, this application won't work either. I guess it has to do something with the policies in Vista, but its strange that it only affects newly published applications published from Win2000, or existing non-working applications published from vista... It's a long shot, but does anyone here has any experience with problems like this? The only thing i can do as a workaround is making a new project on my vista pc, copying all the code in there, and publish it from there. *sigh*, got to love vista...
After 3 weeks i finally stumbled upon the cause of the problem. All my non working applications had the string "update" in their filename/assemblyname... And of course everyone (except for me) knows that the UAC recognizes the program as an installer when the string "update" is found in the filename/assemblyname. :sigh: As found on technet[^]
Installer Detection Technology
Installation programs are applications designed to deploy software, and most write to system directories
and registry keys. These protected system locations are typically writeable only by an administrator
user, which means that standard users do not have sufficient access to install programs. Windows Vista
heuristically detects installation programs and requests administrator credentials or approval from the
administrator user in order to run with access privileges. Windows Vista also heuristically detects
updater and uninstallation programs. Note that a design goal of UAC is to prevent installations from
being executed without the user's knowledge and consent since they write to protected areas of the file system and registry.Installer Detection only applies to:
-
32 bit executables
-
Applications without a requestedExecutionLevel
-
Interactive processes running as a Standard User with LUA enabled
Before a 32 bit process is created, the following attributes are checked to determine whether
it is an installer:Filename includes keywords like "install," "setup," "update," etc.
Keywords in the following Versioning Resource fields: Vendor, Company Name, Product Name, File
Description, Original Filename, Internal Name, and Export Name.Keywords in the side-by-side manifest embedded in the executable.
Keywords in specific StringTable entries linked in the executable.
Key attributes in the RC data linked in the executable.
Targeted sequences of bytes within the executable.
-