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
- :
- Re: Install Main Applcation + install language update and uninstall all of them
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
‎Oct 20, 2010
09:17 AM
Install Main Applcation + install language update and uninstall all of them
Hello,
I have a Basic MSI project. Our auto build server creates new installer everyday (if any components were changed). These have auto incremented version number and different product code because we don't want to upgrade our products. So old version is always uninstalled and new version is installed ....
I have to create Language "update". It includes some resource dll and help file but never overwrites any components in "main" installation. The version number are same both main and language update (created by auto build server). We have to support alot of languages at the same time on the same computer so I think we have to generate msi installers with different product code for every languages. It is not problem... but how can I remove language updates from main installer if the user wants to uninstall main application?
I can find installed Language update instances in registry under uninstall keys. I created two custom action (CA):
1:
FindAndUninstallLangUpdates it is a dll calling
It looks for product codes of installed language updates and call 2nd CA to uninstall them one by one.
2:
UninstallLanguageUpdate:
MSIEXEC.EXE /uninstall [LANGUPDATE] /quiet
The LANGUPDATE is a property and it was set by 1st CA with language update product code
It works fine until I call them during UI before "ExecuteAction" standard action, but I try do it during quiet uninstallation the UI section won't run. If I call them in the Execute Sequence it says "Another installation is being installed... please wait ... finished." So I can not remove them.
What is the "best practice"? How can I remove related (language) installations from main installer during quiet mode uninstallation?
Thanks.
I have a Basic MSI project. Our auto build server creates new installer everyday (if any components were changed). These have auto incremented version number and different product code because we don't want to upgrade our products. So old version is always uninstalled and new version is installed ....
I have to create Language "update". It includes some resource dll and help file but never overwrites any components in "main" installation. The version number are same both main and language update (created by auto build server). We have to support alot of languages at the same time on the same computer so I think we have to generate msi installers with different product code for every languages. It is not problem... but how can I remove language updates from main installer if the user wants to uninstall main application?
I can find installed Language update instances in registry under uninstall keys. I created two custom action (CA):
1:
FindAndUninstallLangUpdates it is a dll calling
It looks for product codes of installed language updates and call 2nd CA to uninstall them one by one.
2:
UninstallLanguageUpdate:
MSIEXEC.EXE /uninstall [LANGUPDATE] /quiet
The LANGUPDATE is a property and it was set by 1st CA with language update product code
It works fine until I call them during UI before "ExecuteAction" standard action, but I try do it during quiet uninstallation the UI section won't run. If I call them in the Execute Sequence it says "Another installation is being installed... please wait ... finished." So I can not remove them.
What is the "best practice"? How can I remove related (language) installations from main installer during quiet mode uninstallation?
Thanks.
(2) Replies
‎Oct 20, 2010
01:29 PM
You won't be able to initialize more than one msiexec process during the Execute Sequence. That is why your quiet mode custom actions will fail. What you can do is create a setup launcher that can send uninstall commands to your language packs, then calls your main app installation/uninstallation.