Solved

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

Posted on 2006-10-23
5
3,419 Views
Last Modified: 2013-11-14
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
Comment
Question by:atoncelli
  • 2
5 Comments
 
LVL 20

Expert Comment

by:Daniel Van Der Werken
ID: 17793593
Should you be using:

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

I think so.
0
 

Author Comment

by:atoncelli
ID: 17795024
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
 
LVL 2

Accepted Solution

by:
numansiddique earned 125 total points
ID: 17896111
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
 

Author Comment

by:atoncelli
ID: 18046517
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

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Whether you’re a college noob or a soon-to-be pro, these tips are sure to help you in your journey to becoming a programming ninja and stand out from the crowd.
If you’re thinking to yourself “That description sounds a lot like two people doing the work that one could accomplish,” you’re not alone.
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question