This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- .NET assembly satellite dlls, how to package ?
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
Feb 19, 2014
02:50 AM
.NET assembly satellite dlls, how to package ?
Could some one please enlighten me.
What should be done to install a .NET assembly we have written. i.e. a simple dll written in C# and packaged as an assembly dll.
and
What should be done with any associated language satellite dlls (which should end up in a sub-folder e.g \en of the installation folder.
What are the extras involved in adding these to the installation package, over and above those actions required for any other file.
This must be one thousands of folk need to know and yet I have not found any help on it in the InstallShield help or on your forums.
Think I must be missing something somewhere.
Please feel free to direct me to (comprehensive) references to the topic.
Thanks in advance.
What should be done to install a .NET assembly we have written. i.e. a simple dll written in C# and packaged as an assembly dll.
and
What should be done with any associated language satellite dlls (which should end up in a sub-folder e.g \en of the installation folder.
What are the extras involved in adding these to the installation package, over and above those actions required for any other file.
This must be one thousands of folk need to know and yet I have not found any help on it in the InstallShield help or on your forums.
Think I must be missing something somewhere.
Please feel free to direct me to (comprehensive) references to the topic.
Thanks in advance.
(1) Reply
Mar 05, 2014
02:09 PM
I create a separate component for each satellite dll, and control which ones get installed with component conditions. So I'll have something like the following:
Component My.Assembly.dll (this is the main assembly and doesn't have a condition)
Component My.Assembly_de.resources.dll (this is the German resource assembly, and has a condition of ProductLanguage=1031)
Component My.Assembly_fr.resources.dll (this is the French resource assembly, and has a condition of ProductLanguage=1036)
I always use ProductLanguage in the conditions so that the assemblies that get installed match the language the installer is running in. This way, you can install in a language different from the system language (i.e. installing the French version on an English OS). Also, it's a good idea to set the "Reevaluate Condition" property of the satellite components to Yes, so that the language can be changed in a maintenance operation.
This is the method that I've used with our products, which support 11 languages. Although it results in a lot of components, I've found it to be very reliable.
Hope this helps.
Component My.Assembly.dll (this is the main assembly and doesn't have a condition)
Component My.Assembly_de.resources.dll (this is the German resource assembly, and has a condition of ProductLanguage=1031)
Component My.Assembly_fr.resources.dll (this is the French resource assembly, and has a condition of ProductLanguage=1036)
I always use ProductLanguage in the conditions so that the assemblies that get installed match the language the installer is running in. This way, you can install in a language different from the system language (i.e. installing the French version on an English OS). Also, it's a good idea to set the "Reevaluate Condition" property of the satellite components to Yes, so that the language can be changed in a maintenance operation.
This is the method that I've used with our products, which support 11 languages. Although it results in a lot of components, I've found it to be very reliable.
Hope this helps.