cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Holger_G
Level 10

Prerequisite: -l command line parameter not passed to MSI

Hi,

my multilanguage UI Basic MSI Setup contains a Prerequisite. Setup.exe will be launched via some custom Autorun application using the -l command line parameter to launch it (for example -l1034 for spanish).

The language command line parameter works only properly when the Prerequisite must not be installed.

Holger
Labels (1)
0 Kudos
(10) Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

To clarify, you have a multilingual package, a single setup prerequisite, and it is being launched (from an autorun) with command line argument -l1034. If the setup prerequisite does not need to be installed, the package runs in Spanish. If the setup prerequisite does need to be installed, the (main) setup runs in a different language. Is that summary correct?
0 Kudos
Holger_G
Level 10

Correct Michael.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

I've tried in both our development builds, and in IS2009, and both show Spanish strings for the prerequisite and MSI dialogs when I:

  • Create a Basic MSI project
  • Add Spanish
  • Add a file
  • Add a prerequisite that will always run
  • Build a release with both English and Spanish, as well as the language selection dialog
  • Run with: setup.exe /l1034 (optionally with /debuglog)

I did not try it on a CD or anything like that, although my tests happened to be one each on Vista and XP.
0 Kudos
Holger_G
Level 10

Thanks therefore Michael.
I will perform some more tests using different languages and with /debuglog.
0 Kudos
Holger_G
Level 10

Michael, I´ve done some more deeper research.

It´s very strange and I´ve posted something similar some days ago in this topic:
http://community.installshield.com/showthread.php?t=186445

It looks like that installation leaves traces behind even if it will be cancelled but only if the prereq will be installed first. Windows Install Clean Up tool reports that it´s installed and Sleuth reports error reading Product Information.
If I install the prereq manually before the main installation then everything runs fine. Setup can be cancelled and launched again with a different language.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Hmm. Does this have anything to do with the advertise-while-elevated option? Namely, if you have it selected, whether the behavior still reproduces if you try turning it off.

Perhaps the pieces left behind in your scenario are counting as the first install. The -l parameter, like all language application, is implemented via applying transforms, and those can only be applied at first install.
0 Kudos
Holger_G
Level 10

MichaelU wrote:
Hmm. Does this have anything to do with the advertise-while-elevated option? Namely, if you have it selected, whether the behavior still reproduces if you try turning it off.


Yes, that´s the problem Michael. I created a simple new project to verify that´s it´s not related to my main project. If Advertise is set to Full UI the problem occurs. Can you please try to verify it?
0 Kudos
Holger_G
Level 10

Holger_G wrote:
Yes, that´s the problem Michael. I created a simple new project to verify that´s it´s not related to my main project. If Advertise is set to Full UI the problem occurs. Can you please try to verify it?


Michael, any updates on this issue?
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Sorry, I meant to get back to you on this, but I lost track. We've reproduced it and are tracking it under IOC-000080419. The core of the problem can be reproduced with setup.exe /l1034 /jm, followed by setup.exe /l1034 even without prerequisites; it is due to passing the language transform incorrectly for an advertised setup. I expect we will have a fix for this in our next release. Let me know if that is likely to be too late for your needs.
0 Kudos
Holger_G
Level 10

MichaelU wrote:
Sorry, I meant to get back to you on this, but I lost track. We've reproduced it and are tracking it under IOC-000080419. The core of the problem can be reproduced with setup.exe /l1034 /jm, followed by setup.exe /l1034 even without prerequisites; it is due to passing the language transform incorrectly for an advertised setup. I expect we will have a fix for this in our next release. Let me know if that is likely to be too late for your needs.


Thanks for the update, Michael. Sure, it would be very nice to get a fix for IS2009 since we publish our release in a few weeks and it uses a Prereq that needs elevated privileges to run. But we can live with an additional UAC prompt for now. And I am not sure if we will purchase IS2010 or a new Maintenance Plan.
0 Kudos