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
- :
- Where to put custom action to set destination of a component on runtime?
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
‎Jun 04, 2009
10:01 AM
Where to put custom action to set destination of a component on runtime?
I have three components that should be installed either to folder A oder folder B.
Destination A should be used if the folder exists (e.g. C:\temp), otherwise the destination should be releative to my installdir (e.g. [INSTALLDIR]temp).
I use a system search that returns me the path and therefore sets a property [SHAREDDIR] with the expected value if the folder exists. Installation works fine.
But, if the folder does not exist, the system search returns a nullstring, therefore I need to set it.
So I created a custom action SetSharedDir:
Property Name: SHAREDDIR
Property Value: [INSTALLDIR]Shared
Install Exec Sequence: After AppSearch
Install Exec Condition: SHAREDDIR=INSTALLDIR
MigrateFeatureStates (UI seq) sets SHAREDDIR to INSTALLDIR, but the CA obviously does not run in exec seq. Where is my fault? Maybe I can use another condition based on AppSearch success, but I just don't know if there is any.
Destination A should be used if the folder exists (e.g. C:\temp), otherwise the destination should be releative to my installdir (e.g. [INSTALLDIR]temp).
I use a system search that returns me the path and therefore sets a property [SHAREDDIR] with the expected value if the folder exists. Installation works fine.
But, if the folder does not exist, the system search returns a nullstring, therefore I need to set it.
So I created a custom action SetSharedDir:
Property Name: SHAREDDIR
Property Value: [INSTALLDIR]Shared
Install Exec Sequence: After AppSearch
Install Exec Condition: SHAREDDIR=INSTALLDIR
MigrateFeatureStates (UI seq) sets SHAREDDIR to INSTALLDIR, but the CA obviously does not run in exec seq. Where is my fault? Maybe I can use another condition based on AppSearch success, but I just don't know if there is any.
(3) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jun 04, 2009
04:09 PM
Please see the help for ICE12 for some action types and scheduling restrictions. Creating a run-time log file should help sort out what's going on, too.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jun 10, 2009
08:12 AM
I read MS-help for CA 51. It says, that it has to run before CostFinalize.
Unfortunately CostFinalize itself sets INSTALLDIR and I need to set my SHAREDDIR according to the value of INSTALLDIR. So I need to do it after CostFinalize but can't do it because its forbidden/has no effect.
I tried Installscript-code as well, but it doesn't work either.
So how can I manage it :confused:
Unfortunately CostFinalize itself sets INSTALLDIR and I need to set my SHAREDDIR according to the value of INSTALLDIR. So I need to do it after CostFinalize but can't do it because its forbidden/has no effect.
I tried Installscript-code as well, but it doesn't work either.
So how can I manage it :confused:
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jun 10, 2009
08:31 AM
A set-a-directory (type 35) action should do it; please see the help topic "Changing the Target Location for a Directory".