I created the .NET C # WinForms application on Win 7 RTM x64, which allows me to say that I called DataInstaller.
When I run this program outside of the debugger (just an empty form with no function at the moment), it works fine until I close the form. Then I get a message from the program compatibility assistant that says:
This program may not be installed correctly.
Then I get the opportunity to reinstall using the recommended options or to say that the installation really worked as expected.
If I call the DataThingy application, this is not a problem, I think this is due to the way the programs called * Setup get the UAC shield icon.
I suppose there will be something simple that I can put in the application manifest to prevent this?
I am not sure if this is happening in Vista since I do not have access at this time.
Changing the name is not an option, and turning off UAC is not an option, so please do not offer this!
Edit:
OMG.
It seems that if any of the following statements is true, the UAC inserts its paddle into:
The name Exe contains the word Installer
AssemblyInfo.cs
AssemblyTitle contains the word 'Installer' eg [assembly: AssemblyTitle("DataInstaller")] AssemblyProduct contains the word 'Installer' eg [assembly: AssemblyProduct("Data Installation Utility")]
The "installer" can also be "Setup".
It breeds faith, it really is. Obviously, one of the older VB6 programmers has moved to the UAC team in Redmond.
I still need a workaround, I'm not ready to admit that my application cannot be called by the installer because it does not touch the registry or put files in the Program Files folder.
I assume that UAC will put the machine in full lock if I try to run my IAmAVirus.exe application. (Actually, I'm not trying to do this because I'm not quite sure that I'm just stupid)