Typically you will discover that the last person who maintained the InstallShield project did not take care of organizing the project carefully – letting components be littered accross the network.
For example, here is a image of a complex project with files being pulled from who knows where…
With files being pulled from such a myriad of locations, it is bound to lose some over time.
Solution – Organize and use Path Variables correctly. Let’s first discuss how best to organize your project files.
Project Files Organization
Look at how I organize a typical project
Under the Project directory will be the InstallShield .ISM project, with all supporting files found within the store directory.
If you have full control of the source staging, then stash it under the Source directory. Typically the source will be staged in a specific directory after a build process. Ensure all components are placed within the Source Management repository for ensuring the ability to rebuild the project for future upgrades.
But what happens if the next person places the project structure on a different drive? Or a different directory structure? If you utilize Path Variables correctly, then you can shift the project around and never encounter a problem when you go to rebuild the project.
When you look in the InstallShield project at the Path Variables panel, notice that you have a constant reference point. That is where the project .ISM resides – which is referenced by the Path Variable <ISProjectFolder>. No matter where the project structure is placed (on a network or buried in sub-directories), if you set your Path variables up to have a reference to the ISProjectFolder then any file can be found.
The easiest method to determine this is to count the directory up from the project .ISM file. For example, for the bitmaps used as replacements for the basic interior/exterior dialogs, they exist in the sub-directory “..\TestProject\packages\store\Bitmaps_Icons\Dialog Bitmaps”. To reference them I will need to go up one directory from the .ISM, and then drive down into the “store” sub-directory until we get to the dialogs. Bottom line, the path reference would be:
Now look how the other path variables can be resolved to reference everything else in the projct structure:
Well, I hope this helps you to organize your project files so that when you get to pass on a project for maintenance, the next guy can find everything – right where you left it.