Archive: Windows 7 - erroneous installer warning


Windows 7 - erroneous installer warning
Hi!

I tested my installer with Winodws 7 RC-1 and I noticed that a few moments after my installer exists, Windows 7 will display a warning. That warning claims that the installer probably has failed! That's complete nonsense, as the installer obviously did complete successfully. So I assume it's a bug in Windows 7 and it can be ignored safely. But it still may scare my users! So I wonder: What can I do to convince Windows 7 that my installer actually did complete successfully? I already request "admin" execution level. Anything else I need to add?

BTW: Another problem. How can I launch my application, but *without* admin rights? I know there is the UAC plugin, but I'm looking for a simpler method. I already tried to launch a second installer from my main installer and I explicitly limited the rights of that second installer to "user". But even when launching my application from that second non-admin installer, it still somehow was running with "admin" rights, as the main installer. This sucks, because it disables Drag&Drop and causes other random problems. Any suggestions?

My complete installer script is here:
http://pastie.org/498438

Cheeeeeeers
MuldeR


NSIS has to be updated to write a manifest file correctly for 7. sourceforge.net/tracker/index.php?func=detail&aid=2725883&group_id=22049&atid=373085
As for non-admin, your script requires admin privileges. For example: 'WriteRegStr HKLM'
HKLM requires admin privileges to write to. You can try SHCTX or HKCU instead. Writing to $PROGAMFILES also requires admin. You can take a look at multiuser.nsh.


Originally posted by redxii
NSIS has to be updated to write a manifest file correctly for 7. sourceforge.net/tracker/index.php?func=detail&aid=2725883&group_id=22049&atid=373085
Thanks for info ;)

I hope NSIS will be fixed for Windows 7 soon, so I can make the Windows 7 people happy too :D


Originally posted by redxii
As for non-admin, your script requires admin privileges. For example: 'WriteRegStr HKLM'
HKLM requires admin privileges to write to. You can try SHCTX or HKCU instead. Writing to $PROGAMFILES also requires admin. You can take a look at multiuser.nsh.
I'm aware that my Installer needs admin rights. And that's why I request the "admin" execution level. But at the end of the installer, I want to launch the application that has just been installed. The application itself should run with normal "user" rights. Unfortunately when launched by the "admin" level installer, the application will run at that higher security level too. That causes a few nasty problems, such as Drag&Drop being disabled and other random glitches. So I look for a way to launch the app as the normal user from my admin-level installer...

What about this? nsis.sourceforge.net/UAC_plug-in#Launching_an_application_with_user_privileges

!define MUI_FINISHPAGE_RUN_FUNCTION ExecAppFile

Function ExecAppFile
UAC::Exec '' '"$INSTDIR\${APPFILE}"' '' ''
FunctionEnd
I don't believe you will be able to do it without a plugin because the application launched from MUI_FINISHPAGE_RUN will inherit admin privileges and NSIS hasn't done anything to automatically lower the privileges like in inno setup.

Once you are elevated, you can't go back, so I don't know what you think Inno is doing


Well, no, I don't think that, it is that, in 5.2.0 or later. However it does it, the process spawned from [Run] runs as non-admin after the setup having admin privileges.


Originally posted by redxii
However it does it, the process spawned from [Run] runs as non-admin after the setup having admin privileges.
I use the UAC plugin in my NSIS installers to do that.

Thanks. I will need to add yet another plugin to my installer then ;)

How I love UAC...