cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Not applicable

abs vrs relative paths and generated filenames

Hello,

I am using an older version of Install Shield and need to understand if this problem is fixed/available in a newer version or if I just need to find a different "install program".

My reference point is: install shield express 11.5

Problem #1) the existing package "hard codes" the absolute path to the source file into the ISE binary file. I need it to have a "relative path" with respect to the present location of the ISE file.

Reason: This package will never be checked out from version control into the same directory - in fact the parent directory name is generated and I cannot control the name.

ie: Today it is built in: C:\BUILD_41432\
Tomorrow it is built in: C:\BUILD_41445\

However: Internal to that directory structure, everything is fixed. ie: From the install shield directory, the components that go into the ISE file are always in "..\..\data" (others are in other relative paths away)

Problem #2) Some of the file names are generated and randomly different on each and every build, however they are all "self contained" in the "..\..\data" directory. In effect, there is a starting point file in that directory: "..\..\data\index.html" - which contains all of the links needed.

Without having to re-insert every file name every time... is there a way to specify a "directory full of files" - and each time have this scanned. It seems the tool - when you create a dynamic link - remembers the filename, what I would like it to do is remember: "..\..\data\*.html" instead

Problem #3) Dynamic Linking - and sub directory exclusion. I am using subversion, I need to tell Install Shield to *IGNORE* various sub directories, ie: "_svn" in some cases, and ".svn" in other cases (yes, both occur in my situation, it depends on how certain things where built)

---

With respect to 1/2/3 above - currently the 11.5 "ise" file is binary, if it where *TEXT* I could trivially *generate* the "ise" file via a perl script. But as it stands today the ISE file is 100% binary 😞

===

Are these issues resolved with "2009" or some other level of install shield?

If there is no work around, I really need to use something else.

Thanks.
Labels (1)
0 Kudos
(3) Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Problem 1 reflects a limitation with the Express edition. With the Professional or higher edition, you can see and edit what we call Path Variables, allowing you to easily control what directories are used by various kinds of file references. It's possible that through carefully coordinating things by creating and building with your project file inside that changing path, that it might update automatically, but I forget what 11.5 does here. But if it's in some external path, you'll need the features in Professional.

Problem 2 sounds like it would be resolved with a dynamic link, but perhaps I'm misunderstanding what you need.

Problem 3 would be better addressed today by calling svn export instead of svn checkout. Or with the Professional or higher edition, you can use InstallShield's automation interface (callable from any COM capable language including VB and Perl) to edit the project file, and/or can store it in an XML format.
0 Kudos
Not applicable

MichaelU> [lots of answers]

Thanks, these are very helpful. 🙂

Sounds like the Professional version is what I need.

-----------------------------------

MichaelU> Problem 2 sounds like it would be resolved with a dynamic link, but perhaps I'm misunderstanding what you need.

The data directory contains generated data files, with unique names.

A few of the files are "fixed names" (like index.html) which contain internal references to generated files. The package "Doxygen" is an example of this, it generates filenames like: "dir_63d0b312a6e36fa732daeaf1cbec6d.html, .map, and .png"

If one runs the build again, seconds later, that generated name will be different.

I use Doxygen only as an example. There are other files in the package created by other things in a simular way.

-------------------------

One last question.

Is this package with it's 'license protection' able to run from within a "VMWare" or simular instance? Or do I need to purchase a specific version? (pro, not express)

My assumption is you use some type of

My goal is to create an "unattended midnight build" in a scripted fashion, that build would occur on a VM ware machine that gets "reset" at the start of every build.

Think: "vmware lab manager" or something like that.

-Duane.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

I'm glad you find this information helpful, Duane.

Dynamic links are a combination of source folder, a list of wildcard patterns to include and exclude, and an option to apply the same to the subfolders of that source folder. Just make sure your filter includes, say, *.html,*.map,*.png instead of dir_63...html, and it should be fine.

As for the VMWare question, the Premier edition comes with the Standalone Build component which can be installed (something like 10 licenses per license of Premier), and is very well suited for automated builds. However when it comes to the main IDE, as long as you aren't trying to install to a main box and a VMWare machine on a single license, I believe you can use a full install in that fashion.
0 Kudos