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

InstallShield Limited Edition and project dependencies

I'm currently investigating an environment upgrade from VS 2010 to VS 2012 an am looking at migrating all of our VS setup projects to InstallShield.

I've upgraded a solution that contains about 80 difference C# projects. Most of these projects are DLL dependencies for the main exe project in the solution.

When I create a new Test InstallShield project, I add the Primary Output and the Content files of my main exe as the files to install.

However, after I run the produced setup.exe, all bar 6 dependent DLLs are installed in the destination install folder. The DLL's that are missing are sourced from other projects in the same solution. I know that these projects are being built, because in VS2012, I can see these DLLs in the bin folder main exe.

In the files view in my InstallShield project, i can use the resolve primary output, and it shows me the correct project, and when i use the "dependency scan at build", it shows me the missing DLLs as being included.

however, the missing DLL's have a red circle with a line through them as the icon.

What am I missing? How do I include these files in the installation?

Thanks
0 Kudos
(6) Replies
JP_Lee
Level 3

I've installed the trial version of InstallShield 2012 Spring Express and I get exactly the same issue. It looks like I get exactly the same missing dependencies.
0 Kudos
chiranjeevi
Level 7 Flexeran
Level 7 Flexeran

Hello,

Please, give a try below steps:

1. Go to your C# Solution, go to each project and each dependency and ensure the property 'Copy To Local' is turned on.

2. Build this solution.

3. Go to /Bin/Release folder for this solution (Assumes that all files output location is default and not modified)

4. Copy and use all the files in this directory.

Thanks~
Chiranjeevi
0 Kudos
JP_Lee
Level 3

Copy local is on for all dependencies, else the project would have a harder time running in Visual Studio.

How does this work with multiple builds? Currently we have three possible builds with different configurations being built, all being outputted to the different folders (the VS default, the build is output to /bin/)

also: I've just noticed this in my output logs

39>ISEXP : warning : -6248: Could not find dependent file BL.dll, or one of its dependencies of component Startup.Primary_output
39>ISEXP : warning : -6248: Could not find dependent file UI.dll, or one of its dependencies of component Startup.Primary_output

but, I know the files exist because I can see them in my VS bin directory of my Startup project.
0 Kudos
chiranjeevi
Level 7 Flexeran
Level 7 Flexeran

You may try copying the respective dependent dlls into the respective release folders, if you have multiple build configurations.

Inorder to avoid the ISEXP : warning : -6248, you may try changing the ".NET Scan at Build" property to "Properties Only".

Thanks,
Chiranjeevi
0 Kudos
JP_Lee
Level 3

that's... suboptimal.


If i'm hard referencing files in a directory, can I change the references dynamically depending on the build?

i.e. by default, the debug build goes into /bin/debug and the release build goes into /bin/release

If one of my files in my project is first.dll, can I get my hard reference to automatically go /bin/debug/first.dll in debug and switch over to /bin/release/first.dll in release?

edit: I've just checked my isl file, and it looks like absolute paths in the xml, so I can't do it this way, can I?
0 Kudos
JP_Lee
Level 3

chiranjeevi wrote:
You may try copying the respective dependent dlls into the respective release folders, if you have multiple build configurations.

Inorder to avoid the ISEXP : warning : -6248, you may try changing the ".NET Scan at Build" property to "Properties Only".

Thanks,
Chiranjeevi


If i turn off .NET scan at Build, then absolutely none of my secondary dependencies get included, which means I'll have to dependency walk everything, including third party libraries.
0 Kudos