3

I'm having problems including satellite dll's in a installshield project.

I've tried adding a component, say "SatelliteNorwegian" for a norwegian language installation, for which I set the "Data Language" field to norwegian. The actual files reside in the folder [INSTALLDIR]/no-NB/. I've set this up as a dynamic file link.

The problem is that our build system will only pull in this folder when we are building a norwegian release. This results in a build error since installshield cannot find the referenced folder. One possible solution is to include an empty folder for every language we support, currently 9 and counting.

Does anybody know a good solution to this problem?

hanDerPeder
  • 397
  • 2
  • 12
  • I think this requires some kind of folder synchronization (retrieve the folder content from disk at build time). Advanced Installer (another commercial tool) had this feature. Perhaps a solution would be to dynamically add the folders before build, but I'm not sure if InstallShield supports this. – Cosmin Mar 03 '11 at 08:52

1 Answers1

1

First, I've written many, many times about the perils of dynamic file linking. I really suggest that you don't use this feature. That said, the following will work regardless if you choose to use static components or dynamic components.

You need to create a subfeature for each of your supported languages and move the components for the language to that subfeature. Then give each subfeature a unique release flag such as EN-US, NO-BN.

Next you are going to define a Product Configuration for each language that you want to build. Give that product configuration a matching release flag. Each configuration will pick up all features that either don't have a flag or have a matching flag.

In your build automation you'll have to update your calls to ISCMDBLD to specify the correct product configuration to build using the -a argument.

Christopher Painter
  • 54,556
  • 6
  • 63
  • 100