cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
skr
Level 6

Logging on installation

Hi

I am pretty new to Installshield.

I have upgraded from installshield 2008 to 2009. I am running a InstallScript MSI project.

When upgrading my solution from one version to another it seems that files are not updated. Is there a logfile where I can see the tasks performed by the installer.
Labels (1)
0 Kudos
22 Replies
DebbieL
Level 17

To log an InstallScript MSI installation, try something like this at the command line:
Setup.exe /v"/l*v c:\MyLogFile.log"
0 Kudos
skr
Level 6

Thanks for the information. I am now able to create a logfile. Looking at a logfile where the upgrade goes OK and comparing it with an upgrade that fails, I see a difference, bu I am not sure how to interpret this difference. Hopefully someone can help me what to look for. Here follows part of the logfiles:

Failed installation:
Action start 08:06:14: MigrateFeatureStates.
MSI (s) (C0:08) [08:06:14:567]: Doing action: InstallValidate
Action ended 08:06:14: MigrateFeatureStates. Return value 0.
MSI (s) (C0:08) [08:06:14:567]: Feature: DynamicPublisher; Installed: Absent; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Feature: MediaOrganizer; Installed: Advertise; Request: Reinstall; Action: Reinstall
MSI (s) (C0:08) [08:06:14:567]: Component: Registry; Installed: Local; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: AppPoolComponent; Installed: Local; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: MCFiles; Installed: Local; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: combined.sql_SQLComponent; Installed: Absent; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: dpmoregistry; Installed: Absent; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: DPdefaultdata.sql_SQLComponent; Installed: Absent; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: InterfaceDirectory; Installed: Local; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: dpdefault.sql_SQLComponent; Installed: Absent; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: FilesDirectory; Installed: Local; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: WebServiceExtensionComponent; Installed: Local; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: _F5F756328E08AA329FCFD705F8E7D6FE; Installed: Local; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: _573530AECB16D54CF58F56AFE630AC06; Installed: Absent; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: _BBA0FA091B98B26EB6C9D26115F24311; Installed: Local; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: _88C9C4E6FEDA6A634DE74C1D9AB24B18; Installed: Local; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: _E9883CB7FB35206415E249B70C28CD63; Installed: Local; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: _C01E743AB0DD68BC878CAB97C2A53884; Installed: Local; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: _A16F574E2F54EC1692CC68F6C7492575; Installed: Local; Request: Null; Action: Null
MSI (s) (C0:08) [08:06:14:567]: Component: _167B005ABE39BE14C004B2B20D34A287; Installed: Local; Request: Null; Action: Null


OK installation:
MSI (s) (B0:74) [08:44:56:003]: Doing action: InstallValidate
Action ended 08:44:56: MigrateFeatureStates. Return value 0.
MSI (s) (B0:74) [08:44:56:018]: Feature: DynamicPublisher; Installed: Absent; Request: Null; Action: Null
MSI (s) (B0:74) [08:44:56:018]: Feature: MediaOrganizer; Installed: Local; Request: Reinstall; Action: Reinstall
MSI (s) (B0:74) [08:44:56:018]: Component: Registry; Installed: Local; Request: Local; Action: Local
MSI (s) (B0:74) [08:44:56:018]: Component: AppPoolComponent; Installed: Local; Request: Local; Action: Local
MSI (s) (B0:74) [08:44:56:018]: Component: MCFiles; Installed: Local; Request: Local; Action: Local
MSI (s) (B0:74) [08:44:56:018]: Component: combined.sql_SQLComponent; Installed: Absent; Request: Null; Action: Null
MSI (s) (B0:74) [08:44:56:018]: Component: dpmoregistry; Installed: Absent; Request: Null; Action: Null
MSI (s) (B0:74) [08:44:56:018]: Component: DPdefaultdata.sql_SQLComponent; Installed: Absent; Request: Null; Action: Null
MSI (s) (B0:74) [08:44:56:018]: Component: InterfaceDirectory; Installed: Local; Request: Local; Action: Local
MSI (s) (B0:74) [08:44:56:018]: Component: dpdefault.sql_SQLComponent; Installed: Absent; Request: Null; Action: Null
MSI (s) (B0:74) [08:44:56:018]: Component: FilesDirectory; Installed: Local; Request: Local; Action: Local
MSI (s) (B0:74) [08:44:56:018]: Component: WebServiceExtensionComponent; Installed: Local; Request: Local; Action: Local
MSI (s) (B0:74) [08:44:56:018]: Component: _F5F756328E08AA329FCFD705F8E7D6FE; Installed: Local; Request: Local; Action: Local
MSI (s) (B0:74) [08:44:56:018]: Component: _573530AECB16D54CF58F56AFE630AC06; Installed: Local; Request: Local; Action: Local
MSI (s) (B0:74) [08:44:56:018]: Component: _BBA0FA091B98B26EB6C9D26115F24311; Installed: Local; Request: Local; Action: Local
MSI (s) (B0:74) [08:44:56:018]: Component: _88C9C4E6FEDA6A634DE74C1D9AB24B18; Installed: Local; Request: Local; Action: Local
MSI (s) (B0:74) [08:44:56:018]: Component: _E9883CB7FB35206415E249B70C28CD63; Installed: Local; Request: Local; Action: Local
MSI (s) (B0:74) [08:44:56:018]: Component: _C01E743AB0DD68BC878CAB97C2A53884; Installed: Local; Request: Local; Action: Local
MSI (s) (B0:74) [08:44:56:018]: Component: _A16F574E2F54EC1692CC68F6C7492575; Installed: Local; Request: Local; Action: Local
MSI (s) (B0:74) [08:44:56:018]: Component: _167B005ABE39BE14C004B2B20D34A287; Installed: Local; Request: Local; Action: Local
0 Kudos
DLee65
Level 13

First glance here seems like the failed install is setting up the MediaOrganizer feature as Advertised. For the feature, if you do not want to support advertised mode, then you can disable the setting for Allow Advertised.
0 Kudos
skr
Level 6

I tried to change the setting for the feature to disallow advertise withou any change. (I tried for both the previous and actual version)

The previous version (6.0.x.x )is created with installShield 2008
The new version (7.0.y.y) is create with installShield 2009

I read an old thread (I guess it was from 2002) that said something about dynamic linking and updating of files. Is there still an issue on dynamic linking?
0 Kudos
DLee65
Level 13

Dynamic linking is an issue if you are linking to a folder that has subfolders and you include the flag to include subfolders.

I also read about Dynamic Linking being fixed for IS2009, but I have not tested it. I am gun-shy and so we still only do dynamic linking for single folders and make sure we do not include sub folders.

In the releases view there is a place for listing (at least there is for basic msi) a previous setup. I think this can help with dynamic links, although I am not 100% certain of this.
0 Kudos
DebbieL
Level 17

The setting in the Releases view that can help with dynamic file linking is called Previous Package, and it's on the Build tab for both Basic MSI and InstallScript MSI projects. The "Upgrade and Patch Optimization" section of the following help topic describes this setting a bit, and provides some background on why it's important to use this with dynamic file linking:
Upgrade Considerations

The following help topic compares the old dynamic file linking creation method (referred to as the "by-directory method") with the new method (best practice) that was introduced in InstallShield 2009:
Determining the Appropriate Component Creation Method for Dynamically Linked Files

I hope that helps.
0 Kudos
skr
Level 6

It not really helps me!

The previous package refers to a .msi package, I do only have a setup.exe.

My previous package resides on another machine.

In one way or another I only want to force the files to be updated. I always build full releases and no patches.

I tried to use best practice, but files are still not updated. Is it due to the already installed package I do have problems? Hopefully not as it is installed at several customers!
0 Kudos
DLee65
Level 13

skr@pine.dk wrote:
It not really helps me!

The previous package refers to a .msi package, I do only have a setup.exe.

My previous package resides on another machine.

In one way or another I only want to force the files to be updated. I always build full releases and no patches.

I tried to use best practice, but files are still not updated. Is it due to the already installed package I do have problems? Hopefully not as it is installed at several customers!


The MSI must be embedded into the EXE then. You will need to extract the MSI from the EXE. Look in help for Setup.exe command-line parameters on how to use the /extract switch.

However, I am not convinced that your issue is with dynamically linked files, because in the failed scenario, at least one feature is logged as Advertised, and then several component's InstallState is NULL.

I wonder if this is related to the MigrateFeatureStates? When you install the first install, 6.0.x.x, does the log file list these features and components as installed?

If the first install set this feature to Advertised then I believe that MigrateFeatureStates will do so as well. Some things you an look at is to create a custom action that sets the REINSTALL property to ALL if this is an upgrade scenario, or a repair scenario. Now, if the previous install gave the user an option to install certain features then this option is not viable, you would have to somehow query the first install and find out what the present installstate is for each feature.

If there are certain components that never got installed in the first installation scenario but must be installed in the second, then you could set a condition on the components and set the flag to reevaluate the condition.

These are just some ideas to check out, I am not certain that they are related to your present situation though. Hopefully it helps.
0 Kudos
DebbieL
Level 17

Do you see any SELMGR errors in the log file for the failed installation?
0 Kudos
skr
Level 6

YES I see the following

MSI (s) (C0:08) [08:06:14:504]: SELMGR: ComponentId '{D2BDE10E-ED19-559C-ED4D-3BEE694CCB14}' is registered to feature 'MediaOrganizer', but is not present in the Component table. Removal of components from a feature is not supported!
MSI (s) (C0:08) [08:06:14:504]: SELMGR: Removal of a component from a feature is not supported

But I can NOT see any component in my original installation whith this ID!
0 Kudos
DebbieL
Level 17

If a feature becomes advertised during a minor upgrade, it might occur because a component code was changed (which might happen if you're using dynamic file links), a component has been removed, or the feature/component tree was reorganized. None of those things can happen in a minor upgrade. When any of these issues happen, you'll see that SELMGR message.

In your case, I suspect that maybe the problem is the dynamic file links. (You wouldn't see in your project the component code for the components that InstallShield creates for your dynamically linked files. InstallShield creates these components at build time and writes them to the .msi file that gets compressed into your Setup.exe file. You can use InstallShield MSI Sleuth to search for a specific component code that is installed on a system. This tool will tell you what which product has that component code. Then you can view the specific component and see its install path to help determine if it's for dynamically linked files.)

To work around this issue, I think it will be necessary to use that Previous Package setting. In your upgrade project, you'll need to specify the .msi of your original installation. Since it sounds like your original installation is just a Setup.exe file, the .msi file would be compressed into it. You can extract your .msi file from your Setup.exe file by running your Setup.exe file from the command line and passing the /a parameter:
Setup.exe /a
When you do that, the wizard will ask you where you want to extract your setup files. Specify a path somewhere, and you'll get the .msi file, plus a folder that contains all of the files from your installation. In the Previous Package setting of your upgrade project, specify that .msi file.

Another option that I think might work is to create a major upgrade, rather than a minor upgrade. A major upgrade would uninstall the previous version, and then install the new version.
0 Kudos
skr
Level 6

I tried setup.exe /a but it does not seem to extract a si file, It seems like it just runs the installation. I search the computer for *.msi and found nothing related to my product.

I tried setup.exe /? and it does not give any explanation to a /a option

I am a bit concerned doing a major upgrade. Will it remove the registry settings changed by the customers and install the default settings again?
0 Kudos
skr
Level 6

I used the MsiSleut tool and found that in the original installation there was a file that had been distributed by mistake.

Is the only way to get rid of that file to run a major upgrade, or is it possible to remove a single file in a minor upgrade
0 Kudos
DebbieL
Level 17

When you use /a with Setup.exe for an InstallScript MSI installation, you'll first see the Preparing to Install dialog. Then you'll see the Welcome dialog. Next, you'll see the dialog that I've attached to this post.

Did you see the attached dialog when you tried /a? If so, you should look in the directory that you specified in that dialog. Your .msi file should be there once you've finished the wizard.

The /? help lists only some of the most commonly used Setup.exe parameters. The following help topic offers a more complete list of available parameters:
Setup.exe and Update.exe Command-Line Parameters
0 Kudos
skr
Level 6

Thanks, now I found my msi file.

As I mentioned in a previous post I found that a file was installed by mistake in a previous installation. Is it necessary to do a major upgrade to get rid of that file?
0 Kudos
DebbieL
Level 17

Is the file a dynamically linked file?

Did you add an entry in the RemoveFile table (in the Direct Editor view) for the file that you want to delete?
0 Kudos
skr
Level 6

Yes to both

The file is dynamically linked and I do put an entry in the RemoveFile table
0 Kudos
skr
Level 6

To overcome my problem I added an empty file. This solved the problem

However a new issue appeared. I have added a new folder to my dynamically linked files, but it is not installed in the correct place.

I have added the folder App_Browsers see InstallShield.bmp

I supposed it should be place in the same subfolder as e.g applet but it is placed one folder above, see InsFIles.bmp

Why is it so?
0 Kudos
DebbieL
Level 17

About this:
To overcome my problem I added an empty file. This solved the problem

I'm glad that is OK for your scenario. Otherwise, it's not possible to delete a dynamically linked file during a minor upgrade. If you couldn't accept an empty file, you would need to switch to a major upgrade to resolve the issue.

About this:
However a new issue appeared. I have added a new folder to my dynamically linked files, but it is not installed in the correct place.


In your upgrade project, did you select your original .msi file in the Previous Package setting in the Releases view? (I described this setting in post # 7 above.) Doing this may resolve the issue.
0 Kudos
Justine
Level 2

Is it possible for a Custom Action to add anything to the Installer log file?

My product's installation has quite a few Custom Actions authored in VB script and it would be handy to be able to add its output to the installer log, if logging was enabled.

Thanks for any information anyone could provide as I am new to IS.
0 Kudos