CristisS
CristisS

Reputation: 1163

InstallShield LE - 3rd party dll in localized language folder

When I create a setup project using InstallShield LE in VS 2012, I add the projects that need to be installed in the "Files" tab (Specify Application Data in the install project). I also need the localized resources for the application, so I select Localized resources.
After installation, the 3rd party dlls are all copied in the language folder, NOT the main folder of the application. Thus the application cannot find them and cannot event start.
I tried to uncheck the dependencies for the Localized resources output (Dependencies from scan at build), but they also get unchecked in the Primary output.

It appears to work if I add the 3rd party dlls in the output, but this is not ok because it hardcodes the path to the dlls, forcing each member of my team to change the setup project every time he needs to build it.

Any ideas on how to get the dependencies intsalled in the right place?

EDIT:
After further testing it appears that the problem is random, in some cases it creates the paths correctly, but in most not.

Upvotes: 1

Views: 1610

Answers (1)

CristisS
CristisS

Reputation: 1163

Let's say the setup has the following output:

MainProject.Debug symbols
MainProject.Localized resources
MainProject.Primary output
AuxProject.Debug symbols
AuxProject.PrimaryOutput
AnotherProject.PrimaryOutput

If you right click on "MainProject.Localized resources" and "MainProject.Primary output" and select "Dependencies from scan at build...", you can see that both of them have the same dependencies. This was the cause for my problem (dependencies copied in the localized folder).
To solve it I went to the MainProject.Localized resources, right-clicked it, selected Properties -> COM & .NET Settings Tab -> Set "Scan at Build" to "None" -> OK.
Now it builds the setup and installs correctly on InstallShield builds DVD-5 and Single Image (tested).

Upvotes: 2

Related Questions