cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
YoliRiv
Level 3

VolumeSelectCombo Help!

My project is a Basic MSI project. Don't have much experience with InstallScript.
Our company needs the ability to install our application on any available fixed drive (ex. C:, D:, E: or F:) with out changing the installation path. We only want the drive letter to change.
Problem: I have created a new dialog box with the control VolumeSelectCombo which displays only the fixed drives available. My problem is when I choose the C: drive for installation our application gets installed to partition 😧 which is the largest drive with the most free space. From reading documentation thats the default for installshield. We need to be able to select which drive our software will be installed to. I have also tried creating a custom action to 'set a property' from the VolumeSelectCombo property VPROP but it replaces the entire INSTALLDIR property to VPROP property. (ex. INSTALLDIR =\Test1 replaces with INSTALLDIR=C:\). The rest of the path is overwritten with the property of VPROP.

Any help is greatly appriciated. 😮
Labels (1)
0 Kudos
(7) Replies
RobertDickau
Flexera Alumni

Perhaps use a set-a-directory custom action to set INSTALLDIR to a value that just begins with your [VPROP] value?
0 Kudos
YoliRiv
Level 3

Tried that already. I created a CA 'set a directory' which I set the Source = INSTALLDIR Target = VPROP, the installer tries to find INSTALLDIR which it can't. I get error 2872 Check Path.

I put a incident into InstallShield they told me I need to use 'ParsePath function and MsiSetTargetPath to get this to work. Does anyone know what/how to use?
0 Kudos
RobertDickau
Flexera Alumni

Does a set-directory action with source INSTALLDIR and target [VPROP]\rest\of\the\path work? (I don't recall if the value returned with VolumeSelectCombo ends with a slash.) The idea being that [VPROP] being in brackets will expand its value instead of treating it like a hard-coded string. If you create an MSI log file, is the value set correctly?
0 Kudos
YoliRiv
Level 3

thanks for your response Robert.
Your suggestion would work if I only had one directory that I need to install file to but I have multuple directories :
Directory structure of installation

\Databases\dat
\Databases\sql
\Databases\sql\cat
\Databases\sql\ia
\Databases\sql\lgst
\Databases\sql\lgst\lgst_tables
\Databases\sql\lgst\lgst_usps
\Databases\sql\users_groups

😞 This shouldn't be this difficult. What am I missing. All I want to do is give the user the option to install our app onto any drive they choose without letting them change the install directory structure only the drive letter.
0 Kudos
RobertDickau
Flexera Alumni

You should be able to set up your component destinations as [INSTALLDIR]sub1, [INSTALLDIR]sub2, and so forth, and then set [INSTALLDIR] as [VPROP]\fixed\part with your custom action; after that, the subdirectories should follow the new INSTALLDIR...
0 Kudos
YoliRiv
Level 3

Robert your suggestion makes sense I will try tomorrow. Why would InstallSheild suggest Parsepath & MsiSetTargetPath. I did get it to work using those functions but I would rather not use installscript. I will post result.
0 Kudos
YoliRiv
Level 3

All is working great! I implemented your resolution below. This is so much better than using installscript. Thank You! 🙂

Set up component destinations as [INSTALLDIR]sub1, [INSTALLDIR]sub2, and so forth, and then set [INSTALLDIR] as [VPROP]\fixed\part with your custom action; after that, the subdirectories should follow the new INSTALLDIR...
0 Kudos