I have been looking at this again. And it seems that the following registry path is only available if MSMQ is installed. This path exists on XP (SP3), Windows 2008 (R1) and Windows 7. I expect it will exist on other OS's as well:
HKLM\Software\Microsoft\MSMQ If MSMQ is NOT installed, this path does not exist at all. Furthermore, there is a sub-path called Setup (HKLM\Software\Microsoft\MSMQ\Setup). This path contains several keys which seem to indicate what MSMQ components has been installed. E.g. MSMQ_Core. I have seen the path on an ancient Windows 2000 Server although MSMQ wasn't installed, there the Setup folder was empty however. So, unless someone have some hard fact about this, I think I will personally check for the existence of the path: HKLM\Software\Microsoft\MSMQ Since this seems to only exists if MSMQ has actually been installed, at least for those OS' we support. Med venlig hilsen / Best regards, Thomas Due - Software Developer Tel: +45 8678 5500 Fax: +45 8678 5210 Johann Gutenbergs vej 5-9, Aarhus N, Denmark t...@scanvaegt.dk | www.scanvaegt.dk This e-mail and its attachments are intended for the named addressee only and may contain information that is confidential and privileged. Unauthorized use can instigate a claim for damages and constitute a criminal offence. If you received this in error, please contact the sender and delete the material. -----Original Message----- From: Pally Sandher [mailto:pally.sand...@iesve.com] Sent: 22. juni 2010 13:16 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] MSMQ and Windows 2008 \ Windows 7, how to check? HasMSMQ & HASMSMQ are not interchangeable when talking about Windows Installer Properties. Also Launch Conditions fire the error when the inner text evaluates to false. Hence <Condition Message="MSMQ must be installed"> <![CDATA[(HASMSMQ AND VersionNT>=600) OR (HASMSMQ_CORE AND (VersionNT>500 AND VersionNT<600)) OR Installed]]> </Condition> would be a better choice for the inner text (assuming you set HASMSMQ_CORE in a RegistrySearch for the XP/2003 registry location described below, replace HASMSMQ_CORE with your own public Property name). However the question is ambiguous as Vista & Server 2008 are v6.0, Windows 7 & Server 2008 R2 are v6.1 (no mention of Vista in the original question). The above change to the Condition's inner text would check the HASMSMQ only on Vista/Server 2008 & above while XP/2003 use the original property which I can only assume is the expected behaviour. Palbinder Sandher Software Deployment & IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the <Virtual Environment>** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -----Original Message----- From: Thomas Due [mailto:t...@scanvaegt.dk] Sent: 22 June 2010 07:40 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] MSMQ and Windows 2008 \ Windows 7, how to check? > My installer must be run on Windows7 and Windows 2008 (and r2). One of > the prerequisite is service MSMQ, which must be installed on this > computer. But how to check it? On windows XP and Windows 2003 I > checked registry value > "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OC > Manager\Subcomponents\msmq_core" > and if it exists - msmq is installed. Now this value doesn't > correspond to the installed state of the MSMQ. > So any ideas how to check MSMQ installed state? This approach seems to work for me. <Product ... > <Property Id="HASMSMQ"> <RegistrySearch Id="MSMQIsInstalled" Root="HKLM" Key="System\CurrentControlSet\Services\MSMQ" Name="ImagePath" Type="raw" /> </Property> <Condition Message="MSMQ must be installed"> <![CDATA[Installed or not HasMSMQ]]> </Condition> </Product> /Thomas Due ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users