cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
lam1278
Level 6

Setup Prerequisites with folders still not possible

I have been using InstallShield for a while (since v5.5) and thought it was the greatest thing since sliced bread when I finally upgraded to IS12 as was able to use "Setup Prerequisites".

Well, in working with 3rd party applications, you don't always get to pick and choose the files that are being installed or their folder structure. I learned that if I tried to add files to my prerequisites and those files were nested inside another folder, you could not maintain the folder structure. (i.e. here is a good example, setup.exe that installs drivers based on your OS -- see below)

\x64\driver.inf
\x86\driver.inf
setup.exe

Well, I did find a work-around that involves using "SUPPORTDIR" to add the missing directories to the "ISSetupPrerequisites" folder. But, this is very clugey and I hate doing it this way.

So, on to my point...

I recently upgraded and figured I'd check out the new prerequisite editor in IS 2010 Premier, still, the problem exists.... why? It's not like you can't put an "Add Folder" button or something in the editor, it's not like installshield can't copy folders and files to a "DISKIMAGE", it does it all the time for SUPPORTDIR.... I'm thoroughly confused why this is not possible?

I am obviously able to trick the IDE to get the files in a folder, so why can't this be native?

I am wondering, am I the only person in the entire world that is disappointed that you cannot have a folder structure inside your setup prerequisite??
Labels (1)
0 Kudos
(8) Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

You're not the only one to request this, Lynn. We're tracking the feature request under IOA-000037378 so you can search for that in release notes and the like. Current workarounds only apply to uncompressed builds of prerequisites, where you could build your folder structure after our build completes.
0 Kudos
GEPIII
Level 3

Hi -

I am new to InstallShield and one of the first things I need to do is create a prerequisite for a product whose installation uses subfolders. Could you point me to a description of the workaround you mention? I found your original post from 2007 on the issue but did not actually find the solution!

Thanks
GEPIII
0 Kudos
lam1278
Level 6

As Michael eluded to, your prerequisites must not be extracted from setup.exe (i.e. you must "Copy from Source"). Here are the step by step instructions for copying your "sub-folders" to the CD/DVD using the "SUPPORTDIR solution"

1. Create your prerequisites as though all of the sub-folders will be there even though they cannot be added in the prerequisite editor.
2. In the "Prerequisite Editor", goto the "Properties" page and Note the "Unique identifier for InstallShield prerequisite". This is usually a GUID string. Save and add your prerequisite to your project.
3. Using the "Unique identifier", create a folder structure that includes all of the sub-folders that could not be added to your prerequisite in step 1. This folder structure should be as follows:

\ISSetupPrerequisites
\{BFD30933-1BB3-4C74-9AEE-F340BDB9BA84}
\Folder1\*.*
\Folder2\*.*

Where {BFD30933-1BB3-4C74-9AEE-F340BDB9BA84} should be replaced with your unique identifier from step 2.


3. Then, in the actual project, you goto "Installation Designer" > "Behavior and Logic" > "Support Files". Under "Support Files", goto "Advanced Files" > "Disk1". In the "Files" pane, right-click and select "Add Folder" add the "ISSetupPrerequisites" folder structure you created in step 3.
4. Build your project. When the "DISKIMAGE" is created, it will copy all of the desired sub-folders and their containing files to your installshield prerequisite folder on the CD/DVD image.
5. At runtime, InstallShield executes your prerequisite and your executable is able to find all of the desired files because the sub-folders were copied to the proper location.

Hope this helps!
0 Kudos
rafashield
Level 3

lam1278 wrote:

3. Using the "Unique identifier", create a folder structure that includes all of the sub-folders that could not be added to your prerequisite in step 1. This folder structure should be as follows:

\ISSetupPrerequisites
\{BFD30933-1BB3-4C74-9AEE-F340BDB9BA84}
\Folder1\*.*
\Folder2\*.*

Where {BFD30933-1BB3-4C74-9AEE-F340BDB9BA84} should be replaced with your unique identifier from step 2.


Hi there

thanks for your great help,
unfortunately, I didn't get how to do the step 3 as shown above. could anyone help me to understand how and where to do that?

Regards
0 Kudos
lam1278
Level 6

Step 3 really only applies to ensuring you have your prerequisite unique identifier and then putting your prerequisite with multiple folder levels in it.

So, if your installation for a prerequisite has this structure:

 
\Folder1\*.*
\Folder2\*.*


And let's just say your prerequisite has the GUID :

{BFD30933-1BB3-4C74-9AEE-F340BDB9BA84}

In order to make it so you can add your sub-folders to InstallShield using the Support Files, you must make the following folder-structure.

\ISSetupPrerequisites
\{BFD30933-1BB3-4C74-9AEE-F340BDB9BA84}
\Folder1\*.*
\Folder2\*.*

Where {BFD30933-1BB3-4C74-9AEE-F340BDB9BA84} should be replaced with your unique identifier from step 2.


Then in step 4, you must add "ISSetupPrerequisites" folder to SUPPORTDIR so that all of the other folders from your prerequisite are added by default.

Hope this helps
0 Kudos
rafashield
Level 3

lam1278 wrote:

And let's just say your prerequisite has the GUID :

{BFD30933-1BB3-4C74-9AEE-F340BDB9BA84}


Firstly, thank you very much for your kindly reply.

Is it necessary to use GUID or it's possible to make that structure by using the prerequisite's parent folder's name instead of GUID?

lam1278 wrote:

Then in step 4, you must add "ISSetupPrerequisites" folder to SUPPORTDIR


Now, could you please tell me where should I find SUPPORTDIR in Installshield?

Thank you in advance.
Regards
0 Kudos
lam1278
Level 6

If you were to build your prerequisite using InstallShield, it would create the folder ISSetupPrerequisites\{uniqueIdentifier} <-- that is what you would use.

So, no, it may not be a GUID, but by default, that is what InstallShield uses for it's unique identifier. Whatever is your unique folder name for your prerequisite is what you would use here.

As for SUPPORTDIR, that is the "Support Files" view available from inside the "Installation Designer" view (I have InstallShield 2010)

Go to "Behavior and Logic" > "Support Files" in the left. That is what I refer to as SUPPORTDIR. SUPPORTDIR is the folder property that you can use in code in InstallShield, sorry for the confusion.

Inside "Support Files", go to "Advanced Files" > "Disk1". In the "Files" pane rght-click and select "Add Folder" add the "ISSetupPrerequisites" folder structure you created in step 3.

Hope this helps!

I'm going to be going away for the holidays, so I may not see your reply until I return if you have further questions.
0 Kudos
rafashield
Level 3

clearly answered.

I appreciate your kindly reply and hope you have a nice holiday.

For now, there is not any ambiguity.

Thank you so much again.
0 Kudos