PDA

View Full Version : System Search Problems



Mr. Package
01-16-2007, 04:05 PM
Hello everyone. I am in the process of packaging a very simple msi packaged called FL.exe I am using install shield 11.5

It is a network app and it just associates itself with DWG files and adds a shortcut to the desktop. What I want is for it to check C:\myapp\pro.exe and if installed i want it to cancel out.

So what I did was first I created a Property under property manager called CHECKMYPRO with Value: C:\myapp\pro.exe

Then i created a system search.
-File path, by searching folders
-File name: pro.exe
-A full path: C:\myapp
-Maximum number of subfolders to search:10
-Store the Value in this property: CHECKMYPRO
-Store the value in the property and use the property in an install condition.

Condition builder
-CHECKMYPRO
-Message: You have pro.exe installed cant continue.

Now the launch condition appears as
Condition: CHECKMYPRO
Description: You have pro.exe installed cannot continue.

Now if I set the Launch condition to CHECKMYPRO=1 then it won't install on the target system with or without pro.exe installed. And if I leave it as it is (CHECKMYPRO) it will install on all target systems, with or without app.exe installed.

I pretty sure I missing something or understanding incorreclty. Could i please get some help?

TsungH
01-16-2007, 04:18 PM
You should generate a verbose installation log and verify value of the property.

Mr. Package
01-16-2007, 05:21 PM
There is no info about my Property I created. This was a successfull install on a computer without C:\myapp\pro.exe installed.


Doing action: FindRelatedProducts
Action start 15:28:23: FindRelatedProducts.
MSI (c) (7C:88) [15:28:23:174]: Note: 1: 2262 2: Upgrade 3: -2147287038
Action ended 15:28:23: FindRelatedProducts. Return value 1.
MSI (c) (7C:88) [15:28:23:174]: Doing action: AppSearch
Action start 15:28:23: AppSearch.
MSI (c) (7C:88) [15:28:23:190]: Note: 1: 2262 2: CompLocator 3: -2147287038
MSI (c) (7C:88) [15:28:23:190]: Note: 1: 2262 2: RegLocator 3: -2147287038
MSI (c) (7C:88) [15:28:23:190]: Note: 1: 2262 2: IniLocator 3: -2147287038
Action ended 15:28:23: AppSearch. Return value 1.
MSI (c) (7C:88) [15:28:23:190]: Skipping action: CCPSearch (condition is false)
MSI (c) (7C:88) [15:28:23:190]: Skipping action: CCPDialog (condition is false)
MSI (c) (7C:88) [15:28:23:190]: Skipping action: RMCCPSearch (condition is false)
MSI (c) (7C:88) [15:28:23:190]: Doing action: ValidateProductID

And this is a part of the log where the install failed with Launch condition CHECKMYPRO=1 On a computer with pro.exe installed Same thing happens on computers without pro.exe


MSI (c) (80:08) [15:55:07:010]: PROPERTY CHANGE: Adding ACTION property. Its value is 'INSTALL'.
MSI (c) (80:08) [15:55:07:010]: Doing action: INSTALL
Action start 15:55:07: INSTALL.
MSI (c) (80:08) [15:55:07:010]: UI Sequence table 'InstallUISequence' is present and populated.
MSI (c) (80:08) [15:55:07:010]: Running UISequence
MSI (c) (80:08) [15:55:07:010]: PROPERTY CHANGE: Adding EXECUTEACTION property. Its value is 'INSTALL'.
MSI (c) (80:08) [15:55:07:010]: Doing action: LaunchConditions
Action start 15:55:07: LaunchConditions.
Info 2898. Tahoma_80, Tahoma, 1
Info 2898. Arial10, Arial, 1
DEBUG: Error 2835: The control ErrorIcon was not found on dialog ErrorDialog
Internal Error 2835. ErrorIcon, ErrorDialog
MSI (c) (80:08) [15:55:08:088]: Product: FL-- You have pro.exe installed cannot continue.

Action ended 15:55:08: LaunchConditions. Return value 3.
MSI (c) (80:08) [15:55:08:088]: Doing action: Fatal_Error
Action start 15:55:08: Fatal_Error.
MSI (c) (80:90) [15:55:08:150]: Note: 1: 2731 2: 0
Action ended 15:55:09: Fatal_Error. Return value 2.
Action ended 15:55:09: INSTALL. Return value 3.
=== Logging stopped: 1/16/2007 15:55:09 ===
MSI (c) (80:08) [15:55:09:024]: Note: 1: 1708
MSI (c) (80:08) [15:55:09:024]: Product: FL -- Installation operation failed.

MSI (c) (80:08) [15:55:09:024]: Grabbed execution mutex.
MSI (c) (80:08) [15:55:09:024]: Cleaning up uninstalled install packages, if any exist
MSI (c) (80:08) [15:55:09:040]: MainEngineThread is returning 1603
=== Verbose logging stopped: 1/16/2007 15:55:09 ===

TsungH
01-16-2007, 06:58 PM
Excerpt from AppSearch Table (http://msdn2.microsoft.com/en-gb/library/aa367579.aspx).
The property listed in the Property field may be initialized in the Property table or from a command line. If the AppSearch action locates the signature, the installer overrides the initialized property value with the found value. If the signature is not found, then the initial property value is used. If the property was never initialized, then the property will only be set if the signature is found. Otherwise, the property is undefined.You will want to check the initial value of the property, as well as the value after AppSearch action before LaunchConditions action.

LeslieEaster
01-21-2007, 04:46 PM
Mr Package--nice name. I wish I would have thought of that one....

First, delete the CHECKMYPRO property out of the Property Manager. You don't need it and it may be causing the problem. It sounds like everything else is correct.

Second, check the following tables: AppSearch, Signature, and DrLocator. IS 11.5 would create some spurious entries that would foul up the sys search.

The AppSearch table should be something like:
NewSignature1 CHECKMYPRO

There should be only one entry. If there are more, delete the extras. Make sure you note which signature name remains. You'll need it later.

The Signature table should use the same signature name as the entry within AppSearch. The columns are self-explanatory, but look at each one to make sure it's correct. The Max/Min columns should all be empty since you don't care about version.

The DrLocator table is also self-explanatory, but again go through each column to make sure it's correct. The DrLocator should also reference the same signature entry as above.

Try that and see what happens.