PDA

View Full Version : Confused with Sequences



ekramer11
07-19-2006, 04:36 PM
Does anyone know of a list of actions that require me to manually insert them into a squence or dialog?

I just added a prerequisit software requirement. I also added a System Search for a registry key. Neither of which appear to actually be happening. Do I need to manually put them into the sequence somewhere?

For example I am trying to check to see if a previous version of my app was installed, if there was, put it in a public property and display it on a dialog ( this is just a test) and I created a System Search for it... but the value never gets set.

I don't really see where it installshield is ever checking for my prerequisit software either. So I figured I'd ask so I know what to look for.

Thanks.

Christopher Painter
07-19-2006, 05:12 PM
SystemSearches and Install Conditions are handled by the WindowsInstaller AppSearch and LaunchCondition standard actions. These should already be in your project by default.

RobertDickau
07-19-2006, 05:13 PM
Prerequisites are handled before the sequences run, but searches are handled by AppSearch and related actions. If you create an MSI log file, does AppSearch run? Is the corresponding property from the search being set? Does ICE validation tell you anything?

Christopher Painter
07-19-2006, 05:19 PM
Are you building a setup.exe and invoking it or calling the MSI directly? I find that setup prereq checks have to be duplicated in the Setup Conditions to make sure the check is enforced if the user launches the MSI directly.

ekramer11
07-19-2006, 05:42 PM
I think I understand what was going on now.

The variable was never being set because it wasn't actually found on my system to start with.

Total newb mistake, I know (and I am a newb at Installshield after all). But debugging it I couldn't tell when the search was occuring.

Thanks for the help though!

Christopher Painter
07-19-2006, 05:48 PM
Not a problem. When doing logging with /l*v you'll start to get used to how WindowsInstaller will show things like:

MSI (s) (A4:10) [17:22:00:147]: Doing action: AppSearch
MSI (s) (A4:10) [17:22:00:147]: Note: 1: 2262 2: AppSearch 3: -2147287038

Action start 17:22:00: AppSearch.

The 3: -2147287038 shows that there was a failure and the error code was 0x80030002 ( in hex ) which is STG_E_FILENOTFOUND.

You'll recognize success better because you'll see something like:

MSI (c) (D0:D0) [17:36:04:285]: Doing action: AppSearch
Action 17:36:04: AppSearch. Searching for installed applications
Action start 17:36:04: AppSearch.
AppSearch: Property: FXROOT.1144E5DC_E24A_4790_9180_F8A89DBE5635, Signature: FxRoot.1144E5DC_E24A_4790_9180_F8A89DBE5635
MSI (c) (D0:D0) [17:36:04:285]: Note: 1: 2262 2: Signature 3: -2147287038
MSI (c) (D0:D0) [17:36:04:285]: PROPERTY CHANGE: Adding FXROOT.1144E5DC_E24A_4790_9180_F8A89DBE5635 property. Its value is 'C:\WINDOWS\Microsoft.NET\Framework\'.
Action ended 17:36:04: AppSearch. Return value 1.