Sooz24
18th September 2009 12:58 UTC
Regasm and Vista
Hope I'm not duplicating something already covered - but if I am, I can't find the answer!
I have an NSIS installer that runs fine under Windows XP, but under Vista the RegAsm line fails as needing to be run as administrator.
ExecWait '$INSTDIR\System\RegAsm.exe /codebase CryptoClass.dll /t'
Also the registration of a dll fails
RegDLL "$INSTDIR\System\MailBee.dll"
I can do the registrations manually by starting up a command window (Start, Ctrl-Shift-Enter), changing to my $INSTDIR\System folder then running
RegAsm.exe /codebase CryptoClass.dll /t'
and
RegSvr32 MailBee.dll
So I assume it is a UAC problem. How do I modify my script to resolve the problem?
thek
18th September 2009 14:25 UTC
it think the answer to your problem is:
RequestExecutionLevel
its explained in the NSIS Manual
Sooz24
18th September 2009 14:55 UTC
Could you possibly give me a hint as to where to look in the Manual!
MSG
18th September 2009 15:02 UTC
http://nsis.sourceforge.net/Docs/Chapter4.html#4.8.1.32
The command reference is your friend.
Sooz24
18th September 2009 15:28 UTC
OK - (sorry if I'm being stupid, but am new to NSIS although a long-time programmer..)
This doesn't seem to have made a difference...
Firstly I unregistered Mailbee.dll manually
Then I inserted RequestExecutionLevel admin at the start of my script and compiled it
Then reran the install and started up my (MS Access-based) App.
It flagged that the Mailbee reference was missing - so I conclude that RegDll still didn't have authority. Unfortunately it all runs too fast to spot any errors being output
Sooz24
19th September 2009 01:00 UTC
It now works - not sure what I did unfortunately!