Archive: how to make a non-installer for Vista?


how to make a non-installer for Vista?
I'm using NSIS to package and deploy a repair tool. The plan is that the package places its files on the target, then execs its main app (one of the files), and finally removes all its files. It doesn't "stay installed".

There's no user interaction with the package, no choice of directory, no shortcuts installed - just a silent wrapper; (the repair app itself does have a dialog.) The package doesn't create entries in Add/Remove programs and so isn't really an "installer" per se.

I'm very much a novice with NSIS but this seems to be working out, except on Vista (surprise!).

After the package has finished (having successfully run the app) Vista pops up the 'Program Compatibility Assistant' saying:

"This program might not have installed correctly
"If this program didn't install correctly, try reinstalling using settings that are compatible with this version of Windows."

with options:

" o Reinstall using recommended settings
" o This program installed correctly."

Is there any way to make a package which Vista will not consider to be an installer? Or at least, stop Vista wanting to know if the package installed ok. (The UAC prompts prior to running the repair are fine -- user must indeed be admin to make the repair.)

Any suggestions will be much appreciated.
Thanks


Are you setting the exit code?
Are you using Requestexecutionlevel ?


no, neither setting exit code nor using Requestexecutionlevel -- I'll add them & see what happens (got yanked to other stuff for today, tho)

thanks!


thanks, RequestExecutionLevel did the trick!

> are you setting the exit code?

the NSIS docs are coy on this ... does this mean "set the NSIS installer's exit code" or "set the exitcode for the application which the installer execs"?

I can't find out how to set the installer's exit code.
(My exec catches the app's exit code in a variable using

ExecWait "$INSTDIR\fixup.exe" $retcode


4.9.7.5 SetErrorLevel error_level

Sets the error level of the installer or uninstaller to error_level. See Error Levels for more information.

IfRebootFlag 0 +2
SetErrorLevel 4

thanks!!

(fwiw I searched for exit code & exitcode ... guess I should've been thinking DOS-style.)


yeah, but unless you are setting it yourself, nsis should return 0 if everything is ok, if you want to force "success" you can set it to 0 yourself at the end of your last section


I have 100% same problem.
I add "SetErrorLevel 0" at the end of "Main" section.
see source: http://ovpnp.svn.sourceforge.net/vie...31&view=markup

And its not helps for me..
Any suggestions will be much appreciated :)