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

Component for each dll

Is it strictly necessary to create a component (using an Installshield Basic MSI project) for every dll?

Especially if there are 100's of dlls.

Or can dynamic linking be used?
Cheers
Labels (1)
0 Kudos
(9) Replies
ITI_Randy
Level 6

Are your reservations about this due to having to add each one through the component wizard or individually? When I have to add hundreds of components like this, I often just go to the "Files and Folders" view and drag the whole file/folder structure from "Source computer's folders" to the "Destination computer's folders". You do not have to do this dynamically. You will be prompted for dynamic association, but just click "No" and it will add the components for you in regular fashion. It is true that you will have hundreds of components in your "Components" view that are called something like "AllOtherFiles1", but we usually feel we don't care in these cases. If we need to see what is being installed, we go back to the "Files and Folders" view and look there.
0 Kudos
schmoli
Level 6

I'm on the other side of this question and feel like piggy-backing. Is there a way to make installshields wizard want to create separate components for ALL files and not just DLLs? say I'm bulk-adding a ton of HTML files, Installshield always puts them into a single component, but I need to manually go create individual components for them. This is even more of a problem when it comes to image folders that have 100+ jpg files in them, and I want individual components for each one.
0 Kudos
ITI_Randy
Level 6

I'm curious. Why do you want to have hundreds of components for non-versioned files? Right off hand, I can't think of any reason to want this kind of overhead.

If it is because you want to be absolutely certain that every file is always overwritten, then allow them to be in a single component and right-click the component's properties, do a "Select All", and check "Always Overwrite". They will then always be overwritten.
0 Kudos
Gvarma
Level 7

andyamstrad wrote:
Is it strictly necessary to create a component (using an Installshield Basic MSI project) for every dll?

Especially if there are 100's of dlls.

Or can dynamic linking be used?
Cheers


I have been using Dynamic liking without much of any issue.
0 Kudos
schmoli
Level 6

ITI_Randy wrote:
I'm curious. Why do you want to have hundreds of components for non-versioned files? Right off hand, I can't think of any reason to want this kind of overhead.

If it is because you want to be absolutely certain that every file is always overwritten, then allow them to be in a single component and right-click the component's properties, do a "Select All", and check "Always Overwrite". They will then always be overwritten.


Well the only reason I guess I do it is so that I can patch any file in a patch (I was always under the impression that unless the components keyfile changed, it would not properly create patches), and we do a lot of patching of .js and .aspx files in our applications. If I am incorrect please let me know as I would save a ton of work. I figured any file I could conceivably patch had to be a keyfile, and therefore it's own component.
0 Kudos
andyamstrad
Level 6

I ended up using the component wizard. But just wondered what the advantages and disadvantages od using Dynamic Linking were?
0 Kudos
ITI_Randy
Level 6

Dynamic file linking works well for me when I am updating a glob of files and nested directories where I'm not really concerned about accurately patching on a historically tracked, maintenance basis. If all I care about is pulling in the newest file structure in the new version, and I'm doing a major upgrade, then I would use dynamic file linking. It is much easier than dealing with a per-component maintenance plan, as in patching.

Major upgrades don't seem to have a problem with dynamic file linking. The reason being that the whole thing gets replaced with whatever it is now pointing to. It's "out with the old and in with the new". Minor upgrades and patches, however, are much more sensitive, as they have to deal with moving up what was previously installed on the target machine.
0 Kudos
andyamstrad
Level 6

How about self repairs?
0 Kudos
ITI_Randy
Level 6

The installation caches to the target machine and the cached version will be used for repair in maintenance mode. I have not had issues with repairs when using dynamic file linking when it is used in a major upgrade. Again, I would caution about various pit-falls that one will encounter when attempting to use dynamic file linking in patches and minor upgrades.
0 Kudos