cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
JoderCoder
Level 8

Dyamic file linking vs Static File Linking

I create a merge module with a lot of jar files in it. I want to have an automated build process for our development team. Every so often, the name of the files are changed with the version, so abc-1.0.2.3.jar becomes abc-1.0.2.4.jar in the next iteration. And there are new jar files added quite often. Thats why I was picking up the output folder of the development build and dynamically link all the files within a folder.

However, when the files are dynamically linked, I get a lot of problems from the field, that there are always some files that are not installed at the target machine. A repair fixes this issue. I dont have much detail on the reason why some files are missing. I cant re-produce the issue myself. But I wont try to resolve this issue here.

Anyway, I changed the file linking that I am now doing static file linking, and I didnt get any such problems reported from the field yet. But the problem with static file linking is that I cant really automate the build process since the files name change and new files are introduced time to time.

Can anyone think of a way to statically link the files for an automated build process with files changing?

Please share your thoughts on this, thanks!
Labels (1)
0 Kudos
(3) Replies
sturge
Level 6

Could try making a dynamic link and exclude one file. Then add that file staticly and make it your key file.
0 Kudos
Christopher_Pai
Level 16

Component rules must be followed if you want upgrades to work and doing this in automated fashion is difficult to say the least.

Personally I'd write automation to fail the build whenever a file is missing and a new one is added. Then I'd manually update the components as needed.

If this is two much pain, you can automate the process using ISAuto15 interface ... basically do reflection of the project and the build area and then programatically update the project but I think you'll find this is a lot of work and still too much risk of screwing up in the field.

Either way, I suggest reading:

http://blog.deploymentengineering.com/2007/06/dealing-with-very-large-number-of-files.html
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

You can get a little closer to what Chris describes with the Best Practice Components option on the dynamic links, and by adding JAR to the list of file extensions InstallShield should consider as PE files (Tools > Options > File Extensions). If you do that, the dynamic link will create one component per jar file, and use a stable identifier. It won't handle the deleted jar case.
0 Kudos