Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3645
  • Last Modified:

I need to change the INSTALLDIR directory in a custom action. I am using Installshield 11.5

Hi,
 I am using Installshield 11.5 professional.
I have a project that creates different type of packages. Not all the packages install on the same directory, so I have a 'Custom Action' that changes INSTALLDIR according to the Release Flag variable.
I had no problems so far but no the story is a little bit different.  I had a release flag that was used to create a package and I added another release flag for that package.  The condition used in the custom action "Install UI Condition" was ISReleaseFlags="Runtime".  By leaving that condition now the custom action doesn't work anymore.  I added a subfeature (release flag 'tools') to the main feature (release flag 'Runtime').
I though it was because I added another release flag to that package.  So i tried
   ISReleaseFlags="Runtime" OR ISReleaseFlags="tools"
I also tried
   ISReleaseFlags="Runtime" AND ISReleaseFlags="tools"
None of them work.  I ran the package in debug mode and all the msi is reporting is that the the condition is false.
'MSI (c) (78:60) [15:23:25:836]: Skipping action: SetInstalldir (condition is false)'
I tried to open the package with ORCA and I can see that the Property table has the ISReleaseFlags variable with my 2 release flag, so..
What Am I missing here?  It should work.
Thanks
0
atoncelli
Asked:
atoncelli
  • 2
1 Solution
 
Daniel Van Der WerkenCommented:
Should you be using:

ISReleaseFlags == "Runtime" instead of ISReleaseFlags = "Runtime"?

I think so.
0
 
atoncelliAuthor Commented:
I have applied the condition by manual.  I tried just to see what it would do and it doesn't let use it.  It says 'An invalid condition statement was supplied"
Any other suggestions?
0
 
numansiddiqueCommented:
There is one installscript API called SeFeatureTarget. You can use this to change the INSTALLDIR value at the run time using the installscript.
You can use this function as SetFeatureTarget("INSTALLDIR","D:\\TEMP");

I am not sure about the function name. You can check the function name or related function in the help.

You can create a  custom action which calls the script file. In the script file you can check for the condition of the flag and set the INSTALLDIR accordingly.
This could be one solution
0
 
atoncelliAuthor Commented:
This solution is not Microsoft compliance I think because it requires the creation of a script.  There should be a way to do this from InstallShield.
Thanks anyway for the suggestion.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now