[wix-users] Why doesn't my multi-language MSI run when setup via Group Policy Object (GPO)?

Mark Wan mark.in.d.house at hotmail.com
Wed Mar 31 07:59:23 PDT 2021


Hi everyone,

I have built a multi-language MSI (view the Notes below). It is working as intended via manual installation in different OS languages and also via silent installation e.g., msiexec /i .\installer-English.msi /qn



However, when the client machine (Windows 10) tries to install my multi-lingual MSI via Group Policy Object (GPO) obtained from the server machine (Windows Server 2012 R2), it failed to install and it seems to hit an error 1605 (Please see the attached MSI log file). From my research, I have noted that error 1605 means the installer is trying to do something on an uninstalled product but I’m not sure why it is only happening via GPO.



Does anyone know how to resolve this issue? Please check the Useful Notes below for more clues.



Best Regards,

Mark





Useful Notes:

Workaround: Add neutral language ID 0 to the list of language code supported

However, this would cause the installer to always run in English no matter the OS’s region format/language when user runs the installer manually.

Building the MSI

I built the multi-language MSI by following these steps in http://www.installsite.org/pages/en/msi/articles/embeddedlang/

  1.  From Wix project, build project to produce culture-specific MSIs e.g.,
installer-English.msi
installer-German.msi
installer-Spanish.msi

  2.  Generate MST file from each culture-specific MSI using MSITRAN.EXE and using English msi as base e.g.,
MSITRAN -g .\installer-English.msi .\installer-German.msi .\de-de.mst
MSITRAN -g .\installer-English.msi .\installer-Spanish.msi .\es-es.mst

  3.  Embed MST file to base MSI (en-US) using CSCRIPT e.g.,
CSCRIPT .\WiSubStg.vbs .\installer-English.msi .\de-de.mst 1031
CSCRIPT .\WiSubStg.vbs .\installer-English.msi

CSCRIPT .\WiSubStg.vbs .\installer-English.msi .\es-es.mst 3082
CSCRIPT .\WiSubStg.vbs .\installer-English.msi


  1.  Update package language code using CSCRIPT e.g.,

CSCRIPT .\WiLangId.vbs .\installer-English.msi Package 1033,1031,3082



Setting the GPO



I have set the GPO package properties under User Configuration > Policies > Software Settings > Software Installation Package > Properties > Deployment as such:-

  1.  Deployment type: Assigned
  2.  Deployment options: Auto-install this application by file extension activation & Install the application at logon
  3.  Installation user interface options: Basic
  4.  Advanced Deployment options: Ignore language when deploying this package & Make this 32-bit X86 application available to Win64 machines

Also, I have noted that under Properties > General > Language, it is always German. When I add neutral language id 0 in the MSI, it becomes Neutral.


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: MSI13e8a.txt
URL: <http://lists.wixtoolset.org/pipermail/wix-users-wixtoolset.org/attachments/20210331/4bbd145f/attachment.txt>


More information about the wix-users mailing list