This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Install Condition - Detect Windows Service Pack
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 08, 2008
01:59 AM
Install Condition - Detect Windows Service Pack
In Project Assistant view, I have choose that the application only could be installed on specific operating systems: Windows Vista, Windows XP and Windows 2000.
How could I add checking that the application could only be installed on Windows 2000 SP4 and Windows XP SP2 and above?? I mean even if I add the system search and use the property in "Install Condition", how should I modify the conditional statement?
Currently the condition is:
How could I add checking that the application could only be installed on Windows 2000 SP4 and Windows XP SP2 and above?? I mean even if I add the system search and use the property in "Install Condition", how should I modify the conditional statement?
Currently the condition is:
(Not Version9X) And (Not VersionNT=400) And (Not VersionNT=502) And (Not (VersionNT=600 And Not (MsiNTProductType=1)))
(7) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 08, 2008
04:14 AM
Take a look at the 'Operating System Property Values' in the MSI SDK.
To check for a service pack you can make use of the ServicePackLevel property.
To check for a service pack you can make use of the ServicePackLevel property.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 08, 2008
05:04 AM
Check out the ServicePackLevel Windows Installer property.
EDIT: DOH, I did not read Holger G's post carefully enough ...:o
EDIT: DOH, I did not read Holger G's post carefully enough ...:o
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 08, 2008
06:04 AM
So I would just simply add the following to above condition?
And (Not (VersionNT=500 AND ServicePackLevel < 4)) And (Not (VersionNT=501 AND ServicePackLevel < 2))
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 08, 2008
06:08 AM
Yes, that will work.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Apr 22, 2009
07:17 AM
DLee65 wrote:
Yes, that will work.
I tried the changes you suggested for including the ServicePackLevel property in my Install Condition, and it works great for XP SP2 (32-bit), but I can't seem to get it to work for XP SP2 (64-bit)... I am about ready to throw out the SP2 requirement and say it works on all flavors of XP because this is getting annoying.
Our product will work on XP SP2 (32-bit and 64-bit) and Vista (32-bit and 64-bit) and this is my install condition:
((Not Version9X=400) And (Not Version9X=410) And (Not Version9X=490) And (Not VersionNT=400) And (Not VersionNT=500) And (Not VersionNT=502)) AND (Not (VersionNT=501 AND ServicePackLevel < 2))
Any suggestions??
Thanks,
Lynn
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Apr 22, 2009
10:28 AM
Windows XP 64-bit looks a lot like Windows 2003 64-bit in that it's got VersionNT and VersionNT64 at 502. However MsiNTProductType differs between the two.
Personally I'd lean towards rewriting the condition more positively. Something like the following (assumes you want to allow Windows 2003 without SPs; note that the positive VersionNT checks implicitly block Windows 9x):
VersionNT >= 600 OR (VersionNT = 502 AND (MsiNTProductType > 1 OR ServicePackLevel >= 2)) OR (VersionNT = 501 AND ServicePackLevel >= 2) OR (VersionNT = 500 AND ServicePackLevel >= 4)
Personally I'd lean towards rewriting the condition more positively. Something like the following (assumes you want to allow Windows 2003 without SPs; note that the positive VersionNT checks implicitly block Windows 9x):
VersionNT >= 600 OR (VersionNT = 502 AND (MsiNTProductType > 1 OR ServicePackLevel >= 2)) OR (VersionNT = 501 AND ServicePackLevel >= 2) OR (VersionNT = 500 AND ServicePackLevel >= 4)
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Apr 27, 2009
09:20 AM
Thanks Michael,
I actually ended up re-writing it more positively... after I posted, I figured I should use the MSI logging to figure out why Windows XP 64-bit was not flagging for me on the 501.... when I found out exactly what you did about the VersionNT = 502 property being similar to Windows 2003..
So I took the MsiNTProductType and said that we didn't run on anything that wasn't a client, but I didn't want to flag on future versions of Windows
(VersionNT=501 And ServicePackLevel>=2) Or (VersionNT>=502 AND MsiNTProductType == 1)
I'm not too concerned about people not running XP 64-bit SP2. But I appreciate the help you supplied in your install condition, and I may end up re-writing it using your example.
Thanks again,
Lynn
I actually ended up re-writing it more positively... after I posted, I figured I should use the MSI logging to figure out why Windows XP 64-bit was not flagging for me on the 501.... when I found out exactly what you did about the VersionNT = 502 property being similar to Windows 2003..
So I took the MsiNTProductType and said that we didn't run on anything that wasn't a client, but I didn't want to flag on future versions of Windows
(VersionNT=501 And ServicePackLevel>=2) Or (VersionNT>=502 AND MsiNTProductType == 1)
I'm not too concerned about people not running XP 64-bit SP2. But I appreciate the help you supplied in your install condition, and I may end up re-writing it using your example.
Thanks again,
Lynn
![](/skins/images/8CE4FAD0DE6F3A6F9D0567434D2D2DAE/responsive_peak/images/icon_anonymous_message.png)