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

Is thier a way to Exclude Folders using "Dynamic File Link"?

Suppose I have a following folders structure and the Dynamic File Linking feature applied for PATH A with 'Include subfolders' checkbox checked:

PATH A (which contains files)
........------ PATH B (which contains files)
........------ PATH C (which contains files)
........------ PATH D (which contains files)
.................------ PATH E (which contains file placeMeToGAC.dll)
.................------ PATH F (which contains files)

PATH E is a subfolder of PATH D, and PATH E has only one file that should go to GAC during installation on a target box, so I don't need a PATH E folder on a target box. And the question is - how to exclude PATH E with all its content from Dynamic File linking feature? I know how to exclude files that placed in PATH A, but what about excluding a folder?

I see similar question here for InstallShield 2010. Has anything changed since that time? I'm using InstallShield 2013 Professional, Basic MSI Project.
Labels (1)
0 Kudos
(1) Reply
DLee65
Level 13

I would strongly encourage you to NOT 'Include subfolders' for a dynamic link. Instead add each folder individually.

The place where this concept fails is if the sub-folder names are dynamic. To borrow from your example:
PATH A (which contains files)
........------ PATH B (which contains files)
........------ PATH C (which contains files)
........------ PATH D (which contains files)
.................------ PATH E (which contains file placeMeToGAC.dll)
.................------ PATH F (which contains files)
..................---- PATH G (a new folder)

PATH G is new and you want to dynamically add new folders to the install.

The problem with adding subfolders to a dynamic link is that it may come back to bite you when upgrading an existing install.
In your initial release, all the components are created dynamically and a component ID is generated.
On upgrade only the top level folders will duplicate the original componentID. All sub-folders get a new component ID. I am not certain why though.

By adding each folder as its own dynamic link, you can also specify the target directory by using separate components. At the core of it, this may be the only way to solve your particular problem too.
0 Kudos