View Full Version : Conditions

10-28-2002, 10:35 AM
I am trying to get conditions to work under the update service.
I need further instructions. Here is what I am trying to accomplish

I use IS Pro 7 to run the initial install of my program
It installs a base program along with a possible 15 components
We have books that we sell. We always install the reader.
But the customer may have purchase any combination of the
15 books. I am trying to use the condition that checks to see if

under my message screen I have entered this -- product with guid {EE06492A-3F57-4067-B1FB-CBD1E7DC885A} is installed.

I cut and pasted the guid from my component page under my IS 7 install shield EE06492A-3F57-4067-B1FB-CBD1E7DC885A

But I only get the update to show when I do not have the condition. I even tried to register my component manually on the pc. But still nothing. Please advise.

Chris Woerner
11-01-2002, 02:59 PM
If I understand correctly, you have a base product with 15 optional components. You want to send updates to the core reader and/or the 15 optional components. I would recommend the following when you want to update a component:

I would use conditions based on "file dates" to send updates for the optional components. For example, lets say that optional component A installs file A with a date of June 15, 2002. When you have an update ready for that component, you should write the condition as - show the update if a "File exists with a date of June 16, 2002 or earlier." The update will only show if the user has that file installed. The update will only show until the update is applied.

Let me know if I didn't fully answer your question. The Update Service was designed with the idea of updating content as well as software, so we should find a set of conditions that will work for you.

11-01-2002, 04:47 PM
It sounds like you understand correctly. I am not sure that file dates will work for me. File size would work, but that is not an option in the condition list. I send out roughly 4 updates a year per component (up to 60 updates a year). The components are roughly 30mb. My update that I run takes new files and combines them with the old file creating a new file. This new file has a date of when they installed the last update. I was hoping either for file size or the component GUID. Each component in my install shield pro 7 install has a unique GUID. I thought that was what the component GUID condition was for. Another thought I had was to run
agent.exe -r<product code>,<version string>
and register each of my components the first time my program is run. Thanks for the help Chris.

Chris Woerner
11-05-2002, 05:18 PM
Too bad the file date doesn't work. That is what we use when we update our help files, but not the version of Pro7. We just put a condition on the update to only show if the date of the Pro7 help file is old.

Another suggestion..... can you set a registry setting when the optional component is installed and check for that value when posting an update? For example,


Your condition would be registry name of c1 has a data of 1.0. If that is true, the update message for C1 is shown. If not, it is not shown. After the update is installed, you would increment the value of the C1 registry setting to c1=2.0. That way, the update would not be shown to customers who have already applied it.

Paul D
11-06-2002, 12:39 AM
Sorry to interupt, but I have a quick question. When you have more than one condition in the condition box, does that mean that the update will only appear if all conditions are met, or if any are met?

Chris Woerner
11-06-2002, 11:26 AM
Multiple Conditions are treated as "AND".

We have kicking around the idea of allowing other operators (OR) and combination of operators. Do you see a use for that?

11-06-2002, 11:41 AM
Would an "OR" allow to check twice for the same condition parameter?

Like this:
RegKey xyz = 000 OR RegKey xyz = 001

Paul D
11-06-2002, 12:13 PM
Originally posted by Chris Woerner
Multiple Conditions are treated as "AND".

We have kicking around the idea of allowing other operators (OR) and combination of operators. Do you see a use for that?
Yea, that would work great. I was thinking along the terms of a REG key for a componet in my setup that places has a value of zero. Each time its update, it goes up to 1, 2, ect. So if I have a Version 4 update, I can use an OR to say show update if REGkey is 0, 1, 2, or 3.

Chris Woerner
11-06-2002, 01:47 PM
Your descriptions of OR are on target. I appreciate the feedback. I will add that into our feature list.