Component GUID
Posted 09 August 2001 - 12:44
Posted 09 August 2001 - 15:04
Example: Setup1 and Setup2 contain both Component1 with the same GUID. In Setup2 this component contains one file more. If You install both setups on the same computer and then deinstall, this file could be left on the computer. Using the same component code for not compatible components will definitely mess up Your installations iIf You use upgrades and repairs.
Posted 09 August 2001 - 16:12
I have not looked at Transforms at all, but maybe you are in more need of those than authoring several different MSI files.
Posted 10 August 2001 - 09:32
The case Barbara outlined with additonal or alternate files being added in one install and not another. Such files should have their own component. (some files may need a registry key as 'keyfile')
Keeping the same GUID allows MSI to manage the component.
If you change the GUID and your component is for example a COM object you will create an auto repair war between two instances of the same component. Package A will not accept Package B as properly installed and vice versa.
You can really leverage the power of window installer here. A full understaning of components, GUIDs and the Upgrade Table will allow you to perform magic here.
If the packages are likely to be installed on the same machine and the components can not share a directory you may need to read about Isolated Components to allow seperate instances..
Posted 10 August 2001 - 13:06
Posted 13 August 2001 - 08:48
The two products can be installed simultaneously but can also be stand alone, so you can see why this is necessary.
Any helps would be appreciated with this component conundrum .
Posted 13 August 2001 - 11:05
Posted 13 August 2001 - 13:47
Posted 13 August 2001 - 16:11
I would agree that using a common files directory is one of the better ways of sharing components.
Create an entry in the directory table using the power editor derived from CommonFilesFolder
eg.
Directory: OurCommonFiles
Directory_Parent: CommonFilesFolder
DefaultDir: LongCo~1|LongCompanyName
If your company name is 'short' the DefaulDir would just be 'short' no need for the '|'
From the advanced view, components section set the Destination to [OurCommonFiles] for the shared components. You will need to type this in, ISWI is not bright enough to use the directory table in the drop down list.
Some of your apps may need help in finding where an unregistered dll is. Give the app programmer the GUID of the component and tell him to use MsiLocateComponent. I think this is a much better way of finding files than some of the others. Of course if your apps do this it would not matter where anything was installed.