4

I have an WiX package, application starts after installation:

<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch MyProgram" />
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1" />
<Property Id="WixShellExecTarget" Value="[#MainExe]" />
<CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />

I want to pass language of WiX package to my program. Is it possible?

Oleg Sh
  • 8,496
  • 17
  • 89
  • 159

1 Answers1

9

It works:

<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch" />
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1" />
<Property Id="LANGUAGE" Admin="yes" />

<CustomAction Id="LaunchApplication"
   FileKey="MainExe"
   ExeCommand="[LANGUAGE]"
   Execute="immediate"
   Impersonate="yes"
   Return="asyncNoWait" />

<!-- icon for add/remove programs -->
<Property Id="ARPPRODUCTICON" Value="ProgramIcon.exe" />

<!-- Интерфейс пользователя (подключается отдельной сборкой) -->
<UI Id="MyWixUI_Mondo">
  <UIRef Id="WixUI_Minimal" />
  <Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
  <UIRef Id="WixUI_ErrorProgressText"/>
</UI>
Oleg Sh
  • 8,496
  • 17
  • 89
  • 159