Hello,
I'm brand new to NSIS scripting. Touched it for the first time yesterday.
I need to figure out 1) whether Windows Installer 5.0 is installed, and if so, 2) how to turn it on.
I'm not sure if this makes any sense. I'm told by a client we're working for that "Win Installer 5.0 is included with Win 7 and Win 8. However, it doesn't appear started by default."
If someone can please point me in the right direction, I would very much appreciate it.
Thanks
turning on Windows Installer 5.0
4 posts
NSIS does not use MSI/Windows Installer at all so we are going to need some more details about what it is you think you need to start...
Thanks for your reply, Anders.
What I'm trying to do is 1) detect the presence of Windows Installer 5.0 on a Windows 8 machine via NSIS, and 2) if present, detect whether it is turned on (this is the part that might not make sense as I'm not sure Windows Installer can ever be "turned off"), and 3), if it is off (if that makes sense), how I can turn it on via NSIS.
I've got 1) working with this:
Function GetWinInstallVersion
GetDLLVersion "$SYSDIR\msi.dll" $R0 $R1
IntOp $R2 $R0 >> 16
IntOp $R2 $R2 & 0x0000FFFF ; major version
IntOp $R3 $R0 & 0x0000FFFF ; minor version
StrCpy $0 "$R2.$R3"
MessageBox MB_OK $0
FunctionEnd
It tells me that version 5.0 is running on the Windows 8 machine I'm testing with. Is that all I need to know? Or should I be testing for whether Windows Installer is "turned on"?
What I'm trying to do is 1) detect the presence of Windows Installer 5.0 on a Windows 8 machine via NSIS, and 2) if present, detect whether it is turned on (this is the part that might not make sense as I'm not sure Windows Installer can ever be "turned off"), and 3), if it is off (if that makes sense), how I can turn it on via NSIS.
I've got 1) working with this:
Function GetWinInstallVersion
GetDLLVersion "$SYSDIR\msi.dll" $R0 $R1
IntOp $R2 $R0 >> 16
IntOp $R2 $R2 & 0x0000FFFF ; major version
IntOp $R3 $R0 & 0x0000FFFF ; minor version
StrCpy $0 "$R2.$R3"
MessageBox MB_OK $0
FunctionEnd
It tells me that version 5.0 is running on the Windows 8 machine I'm testing with. Is that all I need to know? Or should I be testing for whether Windows Installer is "turned on"?
There is a Windows NT service named msiserver used by Windows Installer but it is normally not running (Manual start service). I'm guessing if it is set to disabled then MSIs might fail to install?
You really should get the client to clarify what they mean.
You really should get the client to clarify what they mean.