PDA

View Full Version : Conditional statement for NT4 Service Pack 6



Daniel K
06-23-2005, 11:18 AM
Hi, I want to prevent my install running on an NT4 Operating system that is running less than Service Pack 6. I've so far tried the following approaches.

Specify NOT VersionNT=400 AND ServicePackLevel<6 in the LaunchCondition table. Unfortunately the install stops on *any* NT4 system.

Creating a custom action to set a property called INVALID_OS. I inserted this action before AppSearch in both the UI and Execute sequence. I then set my launch condition to INVALID_OS and my custom action condition to (VersionNT=400 AND ServicePackLevel<6). This seems to stop the install on any system!!

Neither seem to work... can anybody enlighten me?

MartinMarkevics
06-23-2005, 12:03 PM
Presumably you want to allow your installs to continue on Win2K, XP, etc... In that case, your condition should probably be something like:

(VersionNT>400) OR (VersionNT=400 AND ServicePackLevel>=6)

I think the problem in your condition maybe the order of precedence of the operations. Perhaps your condition would work if you did something like:

NOT (VersionNT=400 AND ServicePackLevel<6)

Daniel K
06-24-2005, 04:00 AM
Hi, thanks for your reply.

I eventually got my custom action approach working - I was being a goof: I'd set a type 51 custom action to set a property called INVALID_OS and set the condition to (VersionNT=400 AND ServicePackLevel<6). I'd then set the Launch Condition to INVALID_OS. Obviously this was the opposite of what the launch condition should be as the condition needs to be 'True' if the install continues. I've since changed it to NOT INVALID_OS and everything is working as expected. Duh.

For some reason I was having trouble entering brackets in the Product Condition Builder yesterday - I must be losing the plot! Anyway the NOT(VersionNT=400 AND ServicePackLevel<6) also works.

Sorry to have wasted your time, I posted near the end of the working day when I'm at my most stupid! but thanks for the reply :)