APX

Check this, I have a custom installer I made, it worked great in all win OSs, until Vista.
With Vista, it works great with UAC turned off.

If I turn on UAC, the heuristics detects that my program needs elevation, ok I understand that.

Now, the big question is, what is the difference between my installer called pete.exe or caller instalar.exe

Well, If my installer is called "instalar" (install in spanish), it hangs up in the middle of the instalation, in different places, like getting an already installed component version, or creating a desktop shortcut.

If my installer is called "pete", it works great, I dont see any problem.

I dont know what to think... My installer isn't signed.

Something is changing depending the .exe name.

Anyone saw something like this What is changing in my app depending the .exe name

Should I use exe names Hax0r style to avoid this my .exe should be called 1nst4l4r


Re: Application Compatibility for Windows Vista Custom Installer and UAC heuristics

Bruce N. Baker - MSFT

This isn't the final answer but I do know that the name of the install program affect how it's handled on Vista. And yes, the elevation dialog is expected. This isn't verified but I'm sure setup.exe handled specially and install.exe might be one as well which would match up with your issue.

Consider manifesting your installation as requireadministrator.






Re: Application Compatibility for Windows Vista Custom Installer and UAC heuristics

Bill Cumming

I remember reading somewhere in the UAC documentation or "Best Practices" white papers on MSDN that Vista does indeed look at the filename to determine if it is a setup program, and the words "setup" and "install" are part of what it looks for. An install program is treated differently - I forget the details. But look for MSDN documents that describe UAC.

Hope that helps.




Re: Application Compatibility for Windows Vista Custom Installer and UAC heuristics

APX

I understand that UAC heuristics detects my .exe as an installer, and will show up the elevation dialog, and I have no problem with that.

But the strange thing is that if my program has a completly different name, for example "12345.exe" or whatever, it works fine.

If my .exe has some "installer keyword" ("setup", "instal", "patch") in it's name, it hangs up when I try to create a desktop shortcut.

In both cases the elevation dialog appears, and my app ends up running in high integrity mode, with virtualization turned off.

But something changes and I dont know what, that is what I would like to know.

A elevated normal program is different in any way with an elevated installer
Is an unsigned installer different in any way from a signed installer

When I say signed I'm talking about a verisign certificate.

And I can add the manifest, but I dont see the point because UAC correctly ask for elevation at program startup.

This is really puzzling, thanks for the feedback




Re: Application Compatibility for Windows Vista Custom Installer and UAC heuristics

AndyCadley

If you don't have a Vista manifest then, aside from UAC heuristics, you are also subject to the whims of the Application Compatability heuristics. If you know your installer should function on Vista then it is best to mark it as such to avoid odd behaviour.



Re: Application Compatibility for Windows Vista Custom Installer and UAC heuristics

Anita Briginshaw

See http://msdn2.microsoft.com/en-us/library/aa905330.aspx for an article letting developers know how to avoid porblems with UAC.

Once one knows what one is looking for, it is actually quite helpful to have an article on this subject. As a developer I just had my work essentially stopped for a day trying to figure out why suddenly my innocent application made UAC kick in. The message "Unidentified publisher" from UAC was completely unhelpful and so was the subsequent message from the program compatibility assistant. Both completely unrelated to the problem that the name contained the word "install". The content of the UAC message has to convey exactly why an action was stopped. Otherwise the user cannot make an informed decision whether to trust software or not.

And by the way, how many people producing malware out there will put install in the executable name

Anita