This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Confused About Component Rule
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 11, 2013
07:04 AM
Confused About Component Rule
I have two products: 1 ) Standard and 2 ) Premium.
The target directory for both products is the Sample folder as below.
[ProgramFilesFolder]Sample\Standard
[ProgramFilesFolder]Sample\Premium
Each product has the unique package, product and upgrade code.
However, they share the same ComponentId for the Sample folder.
They also have the same RegistryComponentID for different registry key.
(HKLM\SOFTWARE\abc\standard, and HKLM\SOFTWARE\abc\premium)
[table="width: 500"]
ProducName
Standard
Premium
PackageCode
AA
BB
Version
12.1
12.1
ProductCode
CC
DD
UpgradeCode
EE
FF
Component 1 for samplefolder
GG
GG
Component 2 for registry key
HH
HH
[/table]
I have a bad feeling that this isn't the best practice but can't really say what problems this might cause.
Can someone please clarify?
Thank you for your help in advance.
The target directory for both products is the Sample folder as below.
[ProgramFilesFolder]Sample\Standard
[ProgramFilesFolder]Sample\Premium
Each product has the unique package, product and upgrade code.
However, they share the same ComponentId for the Sample folder.
They also have the same RegistryComponentID for different registry key.
(HKLM\SOFTWARE\abc\standard, and HKLM\SOFTWARE\abc\premium)
[table="width: 500"]
ProducName
Standard
Premium
PackageCode
AA
BB
Version
12.1
12.1
ProductCode
CC
DD
UpgradeCode
EE
FF
Component 1 for samplefolder
GG
GG
Component 2 for registry key
HH
HH
[/table]
I have a bad feeling that this isn't the best practice but can't really say what problems this might cause.
Can someone please clarify?
Thank you for your help in advance.
(7) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 11, 2013
08:33 AM
We cannot have two components with the same Component ID in the same package.You can change it manually by clicking on the ellipses in the Component Code property
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 11, 2013
08:33 AM
If I am understanding your scenario correctly, it sounds like you are breaking component rules, as described in Changing the Component Code. For more information, see What happens if the component rules are broken?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 11, 2013
09:41 AM
vlakshmi,
These components are not from the same package..They are from different products.
Debbie,
Thanks for the link, though I have read the link before I posted..and still had hard times understanding
Are you suggesting that ComponentId should be different for each product (Standard and Premium) even when both products are installed in the same target directory, the samplefolder? I guess the RegistryComponentID should be also different?
These components are not from the same package..They are from different products.
Debbie,
Thanks for the link, though I have read the link before I posted..and still had hard times understanding
Are you suggesting that ComponentId should be different for each product (Standard and Premium) even when both products are installed in the same target directory, the samplefolder? I guess the RegistryComponentID should be also different?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 11, 2013
10:33 AM
Are you saying that you are installing a component with the same ID to Sample\Standard for the Standard product and to Sample\Premium for the Premium product?
And you are using the same ID for a component that installs different registry data, depending on whether it is Standard or Premium?
Are you doing something to prevent the Standard product from being installed on the same machine that has the Premium product? And are you preventing the Premium product from being installed on a system that has Standard? If this is the case, the scenario that you are describing is probably OK.
And you are using the same ID for a component that installs different registry data, depending on whether it is Standard or Premium?
Are you doing something to prevent the Standard product from being installed on the same machine that has the Premium product? And are you preventing the Premium product from being installed on a system that has Standard? If this is the case, the scenario that you are describing is probably OK.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 11, 2013
11:25 AM
Are you saying that you are installing a component with the same ID to Sample\Standard for the Standard product and to Sample\Premium for the Premium product? ----Yes
And you are using the same ID for a component that installs different registry data, depending on whether it is Standard or Premium? ----Yes
Are you doing something to prevent the Standard product from being installed on the same machine that has the Premium product? And are you preventing the Premium product from being installed on a system that has Standard? If this is the case, the scenario that you are describing is probably OK. ----NO...
I guess I understand now. It's not good idea to share the same ID for the component in both cases.
Does it mean that the component name for samplefolder or registry data should be also unique? Or it does not matter?
[table="width: 500]
ProductName
Premium
Standard
component name for Samplefolder
Comp1
Comp1
ID
100
200
[/table]
And you are using the same ID for a component that installs different registry data, depending on whether it is Standard or Premium? ----Yes
Are you doing something to prevent the Standard product from being installed on the same machine that has the Premium product? And are you preventing the Premium product from being installed on a system that has Standard? If this is the case, the scenario that you are describing is probably OK. ----NO...
I guess I understand now. It's not good idea to share the same ID for the component in both cases.
Does it mean that the component name for samplefolder or registry data should be also unique? Or it does not matter?
[table="width: 500]
ProductName
Premium
Standard
component name for Samplefolder
Comp1
Comp1
ID
100
200
[/table]
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 11, 2013
01:02 PM
You should be able to use the same component names with different component IDs.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 11, 2013
07:43 PM
Debbie,
Thank you so much for your help and clarification. I appreciate it.
Thank you so much for your help and clarification. I appreciate it.