PDA

View Full Version : Double-clicking file brings up Windows Installer dialog



spencerw
01-13-2009, 11:46 AM
I use InstallShield 2008 (MSI)

- I install a previous version (2.0.5) of our product.
- I can double-click a data file with one of our extensions, and it opens up with our app no problem.
- Then I install a newer version (2.1.0), which first uninstalls the old version. Everything works fine, except for when I double-click a file with our extension, it brings up the Windows Installer dialog that shows this:

"Preparing to install..." quickly followed by "Please wait while Windows configures [App name]"

If I delete the (REG_MULTI_SZ) "command" value in this hive...

HKEY_CLASSES_ROOT\[ProgID]\shell\Open\command

...I don't see the Windows Installer dialog anymore when double-clicking one of our data files.

Is there a way to make this stop without modifying the registry?

Thanks for your time.

btw, This is my Install Execute sequence:

ISSetAllUsers
AppSearch
LaunchConditions
FindRelatedProducts
ISPreventDowngrade
CCPSearch
RMCCPSearch
ValidateProductID
CostInitialize
FileCost
IsolateComponents
CostFinalize
CopyPSRegistryTemp
SetARPINSTALLLOCATION
SetODBCFolders
MigrateFeatureStates
InstallValidate
RemoveExistingProducts
InstallInitialize
AllocateRegistrySpace
ProcessComponents
UnpublishComponents
MsiUnpublishAssemblies
UnpublishFeatures
StopServices
DeleteServices
UnregisterComPlus
SelfUnregModules
ISSelfRegisterCosting
ISUnSelfRegisterFiles
UnregisterTypeLibraries
RemoveODBC
UnregisterFonts
RemoveRegistryValues
UnregisterClassInfo
UnregisterExtensionInfo
UnregisterProgIdInfo
UnregisterMIMEInfo
RemoveIniValues
RemoveShortcuts
RemoveEnvironmentStrings
RemoveDuplicateFiles
RemoveFiles
RemoveFolders
CreateFolders
MoveFiles
InstallFiles
StopPSServices
RemovePSTrayicon
RemovePSRegistry
InstallCEApps
RemoveCEApps
Run_Microsoft_Scripting_Installation_for_9x_NT
Run_Microsoft_Scripting_Installation_for_2000_XP
PatchFiles
DuplicateFiles
BindImage
CreateShortcuts
RegisterClassInfo
RegisterExtensionInfo
RegisterProgIdInfo
RegisterMIMEInfo
WriteRegistryValues
WriteIniValues
WriteEnvironmentStrings
RegisterFonts
InstallODBC
RegisterTypeLibraries
SelfRegModules
ISSelfRegisterFiles
RegisterComPlus
InstallServices
StartServices
RegisterUser
RegisterProduct
PublishComponents
MsiPublishAssemblies
PublishFeatures
PublishProduct
ScheduleReboot
InstallExecute
InstallFinalize
SavePSRegistryTemp
ISSelfRegisterFinalize
CEObjectCleanup
Action
InstallExecuteSequence

SherylSikora
01-13-2009, 02:12 PM
It sounds like your registry keys are not being written upon upgrade.

What are you setting the REINSTALLMODE property to for your upgrade? The default should be "omus". You will need to make sure that the "m" is being set in order for the registry keys to be re-written on an upgrade.

spencerw
01-13-2009, 03:58 PM
I found REINSTALLMODE in only two rows in the ControlEvent table:

1:
MaintenanceType Next ReinstallMode [ReinstallModeText] _IsMaintenance = "Reinstall" 9

2:
PatchWelcome Next ReinstallMode omus PATCH And REINSTALLMODE="" 2

I'm not sure what "[ReinstallModeText]" is, which is in the same column as "omus" is in row 2. The MaintenanceType dialog does not get displayed when installing over a previous version.

Regarding row 2, we don't have any patches. We only do a major upgrade with these options:
- Style: Complete uninstall then reinstall
- Products having another Upgrade Code
- Within a specific range of versions (version range inclusive: 1.0.0 - 2.1.0)

How would I set the REINSTALLMODE property to omus for my upgrade, making sure that it only gets set if it is a reinstall? Do I also need to use the REINSTALL property?

spencerw
01-15-2009, 12:34 PM
I made sure the REINSTALLMODE property has the 'm' set--here shown in my install log:

Action 16:44:16: ReadyToInstall. Dialog created
MSI (c) (F0: DC) [16:44:17:025]: Note: 1: 2727 2:
MSI (c) (F0: DC) [16:44:17:395]: PROPERTY CHANGE: Adding REINSTALLMODE property. Its value is 'omus'.

But the behavior is the same, bringing up the "Preparing to install...etc." MSI dialogs.

I turned on MSI logging so that it would log when this behavior occurred. Here's a section of it that's written when I double click the file.

MSI (c) (A0:3C) [09:30:25:284]: ******* RunEngine:
******* Product: {7AF06C39-91BC-4AE6-A4AD-D65E3E59AC75}
******* Action:
******* CommandLine: REINSTALL=PointSyncMobile REINSTALLMODE=pocmus
MSI (c) (A0:3C) [09:30:25:294]: Client-side and UI is none or basic: Running entire install on the server.
MSI (c) (A0:3C) [09:30:25:294]: Grabbed execution mutex.
MSI (c) (A0:3C) [09:30:25:465]: Cloaking enabled.
MSI (c) (A0:3C) [09:30:25:465]: Attempting to enable all disabled priveleges before calling Install on Server
MSI (c) (A0:3C) [09:30:25:475]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (C8:64) [09:30:25:525]: Grabbed execution mutex.
MSI (s) (C8:54) [09:30:25:525]: Resetting cached policy values
MSI (s) (C8:54) [09:30:25:535]: Machine policy value 'Debug' is 7
MSI (s) (C8:54) [09:30:25:535]: ******* RunEngine:
******* Product: {7AF06C39-91BC-4AE6-A4AD-D65E3E59AC75}
******* Action:
******* CommandLine: REINSTALL=PointSyncMobile REINSTALLMODE=pocmus CURRENTDIRECTORY="C:\Documents and Settings\admin" CLIENTUILEVEL=2 CLIENTPROCESSID=1184
MSI (s) (C8:54) [09:30:25:535]: Machine policy value 'DisableUserInstalls' is 0
MSI (s) (C8:54) [09:30:25:535]: Setting cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:545]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:545]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:545]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:545]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:565]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:565]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:575]: End dialog not enabled
MSI (s) (C8:54) [09:30:25:585]: Original package ==> C:\WINDOWS\Installer\19d9d5.msi
MSI (s) (C8:54) [09:30:25:585]: Package we're running from ==> C:\WINDOWS\Installer\19d9d5.msi
MSI (s) (C8:54) [09:30:25:605]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:615]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:615]: APPCOMPAT: looking for appcompat database entry with ProductCode '{7AF06C39-91BC-4AE6-A4AD-D65E3E59AC75}'.
MSI (s) (C8:54) [09:30:25:615]: APPCOMPAT: no matching ProductCode found in database.
MSI (s) (C8:54) [09:30:25:615]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:625]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:625]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:625]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:635]: MSCOREE not loaded loading copy from system32
MSI (s) (C8:54) [09:30:25:635]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:645]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:645]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:645]: Machine policy value 'DisablePatch' is 0
MSI (s) (C8:54) [09:30:25:665]: Machine policy value 'AllowLockdownPatch' is 0
MSI (s) (C8:54) [09:30:25:665]: Machine policy value 'DisableLUAPatching' is 0
MSI (s) (C8:54) [09:30:25:665]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:665]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:665]: Machine policy value 'DisableFlyWeightPatching' is 0
MSI (s) (C8:54) [09:30:25:675]: Enabling baseline caching for this transaction since all active patches are MSI 3.0 style MSPs or at least one MSI 3.0 minor update patch is active
MSI (s) (C8:54) [09:30:25:675]: APPCOMPAT: looking for appcompat database entry with ProductCode '{7AF06C39-91BC-4AE6-A4AD-D65E3E59AC75}'.
MSI (s) (C8:54) [09:30:25:675]: APPCOMPAT: no matching ProductCode found in database.
MSI (s) (C8:54) [09:30:25:685]: Transforms are not secure.
MSI (s) (C8:54) [09:30:25:685]: Command Line: REINSTALL=PointSyncMobile REINSTALLMODE=pocmus CURRENTDIRECTORY=C:\Documents and Settings\admin CLIENTUILEVEL=2 CLIENTPROCESSID=1184
MSI (s) (C8:54) [09:30:25:685]: PROPERTY CHANGE: Adding PackageCode property. Its value is '{FE423E30-B766-4E06-A396-1522E8EFA05A}'.
MSI (s) (C8:54) [09:30:25:685]: Product Code passed to Engine.Initialize: '{7AF06C39-91BC-4AE6-A4AD-D65E3E59AC75}'
MSI (s) (C8:54) [09:30:25:695]: Product Code from property table before transforms: '{7AF06C39-91BC-4AE6-A4AD-D65E3E59AC75}'
MSI (s) (C8:54) [09:30:25:705]: Product Code from property table after transforms: '{7AF06C39-91BC-4AE6-A4AD-D65E3E59AC75}'
MSI (s) (C8:54) [09:30:25:705]: Product registered: entering maintenance mode
MSI (s) (C8:54) [09:30:25:705]: PROPERTY CHANGE: Adding ProductState property. Its value is '5'.
MSI (s) (C8:54) [09:30:25:705]: PROPERTY CHANGE: Adding ProductToBeRegistered property. Its value is '1'.
MSI (s) (C8:54) [09:30:25:715]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:715]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:715]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:725]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:725]: Package name retrieved from configuration data: 'PointSyncPro.msi'
MSI (s) (C8:54) [09:30:25:725]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:725]: Determined that existing product (either this product or the product being upgraded with a patch) is installed per-machine.
MSI (s) (C8:54) [09:30:25:735]: Note: 1: 2729
MSI (s) (C8:54) [09:30:25:735]: Note: 1: 2729
MSI (s) (C8:54) [09:30:25:735]: Note: 1: 2262 2: AdminProperties 3: -2147287038
MSI (s) (C8:54) [09:30:25:745]: Machine policy value 'DisableMsi' is 0
MSI (s) (C8:54) [09:30:25:745]: Machine policy value 'AlwaysInstallElevated' is 0
MSI (s) (C8:54) [09:30:25:745]: User policy value 'AlwaysInstallElevated' is 0
MSI (s) (C8:54) [09:30:25:745]: Using cached product context: machine assigned for product: 93C60FA7CB196EA44ADA6DE5E395CA57
MSI (s) (C8:54) [09:30:25:755]: Product {7AF06C39-91BC-4AE6-A4AD-D65E3E59AC75} is admin assigned: LocalSystem owns the publish key.
MSI (s) (C8:54) [09:30:25:755]: Product {7AF06C39-91BC-4AE6-A4AD-D65E3E59AC75} is managed.
MSI (s) (C8:54) [09:30:25:755]: Running product '{7AF06C39-91BC-4AE6-A4AD-D65E3E59AC75}' with elevated privileges: Product is assigned.
MSI (s) (C8:54) [09:30:25:755]: PROPERTY CHANGE: Adding REINSTALL property. Its value is 'PointSyncMobile'.
MSI (s) (C8:54) [09:30:25:765]: PROPERTY CHANGE: Adding REINSTALLMODE property. Its value is 'pocmus'.
MSI (s) (C8:54) [09:30:25:765]: PROPERTY CHANGE: Adding CURRENTDIRECTORY property. Its value is 'C:\Documents and Settings\admin'.
MSI (s) (C8:54) [09:30:25:765]: PROPERTY CHANGE: Adding CLIENTUILEVEL property. Its value is '2'.
MSI (s) (C8:54) [09:30:25:765]: PROPERTY CHANGE: Adding CLIENTPROCESSID property. Its value is '1184'.
MSI (s) (C8:54) [09:30:25:765]: TRANSFORMS property is now:
MSI (s) (C8:54) [09:30:25:775]: PROPERTY CHANGE: Adding PRODUCTLANGUAGE property. Its value is '1033'.
MSI (s) (C8:54) [09:30:25:775]: PROPERTY CHANGE: Adding VersionDatabase property. Its value is '200'.

Thanks in advance for any assistance you can give.