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

Reply via email to