[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
Sun Apr 11 11:13:25 PDT 2021


Hi Herman/Rob,

Thank you for attention to this issue.

Yes, it is an MSI bundle package as it needs to install VC++ also.

If you are interested to investigate further, I have actually replicated the issue using a much simpler Product.wxs file. You may get all the full logs, MSIs and Source Codes used in Annex II of the issue created at https://github.com/wixtoolset/issues/issues/6417

Additionally, I noticed that if we set the Product ID to asterisk, it will produce localized MSIs with different Product IDs after building. Hence, I replaced the productCode of each localized MSIs with the productCode of the English MSI BEFORE the MST files are generated and combined into the English MSI, and found out that this resolved the issue.

So it seems that this issue only happens if we have combined localized MSTs generated from each localized MSIs which have different Product IDs into a single MSI.

Any help and insight on why this issue happens because of that will be much appreciated.

Thank you.

Best Regards,
Mark

From: Herman van Drie via wix-users<mailto:wix-users at lists.wixtoolset.org>
Sent: Sunday, 11 April 2021 5:03 pm
To: WiX Toolset Users Mailing List<mailto:wix-users at lists.wixtoolset.org>
Cc: Herman van Drie<mailto:hvandrie at outlook.com>
Subject: Re: [wix-users] Why doesn't my multi-language MSI run when setup via Group Policy Object (GPO)?

What triggers me is:
MSI (s) (E0:68) [19:59:17:899]: Running installation inside multi-package transaction {1f96a7b8-49c6-4d0b-aca4-5aad9cg693c1}

Is this an Msi bundle package?

Windows Installer error 1605 = This action is only valid for products that are currently installed.

So, you're attempting like an repair, maintenance or upgrade (msp) using a bundle package maybe where you assume a product is installed - which apparantly is not.
Need more accurate information about your Msi bundle.

Herman

Get Outlook for Android<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Faka.ms%2FAAb9ysg&data=04%7C01%7C%7C3a7d62f16c904bfa47a008d8fcc8ae5d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637537286134953395%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=HCd03Lh3FW%2F8W%2BCZoxstRzB%2BMakEyilcjgPQ7L%2BMjTs%3D&reserved=0>

________________________________
From: wix-users <wix-users-bounces at lists.wixtoolset.org> on behalf of Rob Mensching via wix-users <wix-users at lists.wixtoolset.org>
Sent: Saturday, April 10, 2021 8:58:15 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Cc: Rob Mensching <rob at firegiant.com>
Subject: Re: [wix-users] Why doesn't my multi-language MSI run when setup via Group Policy Object (GPO)?

Product/@Id='*' generates the GUID for you every time you build (great for Major Upgrades). You can see this by using Orca.

No reason (at this time) to assume this is a WiX Toolset issue.

- - - - - - - - - - - - - - -
I provide short answers on wix-users. Full commercial support is offered by FireGiant at https://apac01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.firegiant.com%2Fservices&data=04%7C01%7C%7C3a7d62f16c904bfa47a008d8fcc8ae5d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637537286134953395%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Tol02IJddzDEpZLUtprUihdenWDYq%2FMu8FJTJLvAAbo%3D&reserved=0


-----Original Message-----
From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of Mark Wan via wix-users
Sent: Saturday, April 10, 2021 12:22 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Cc: Mark Wan <mark.in.d.house at hotmail.com>
Subject: Re: [wix-users] Why doesn't my multi-language MSI run when setup via Group Policy Object (GPO)?

Hi,

After some investigation, I noticed that when the Product ID in Product.wxs is set to asterisk (*), build and deployed to the client machine via GPO, the installation will fail with error 1605. However, there is no issue if the Product ID is set to an explicit GUID before building. Manual installation is still working as per intended when Product ID is set to asterisk.

Just in case some of you have missed it, I have reported this as a bug<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwixtoolset%2Fissues%2Fissues%2F6417&data=04%7C01%7C%7C3a7d62f16c904bfa47a008d8fcc8ae5d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637537286135033353%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=iBwvXI7wzPpKoRKRMPTyc9AluyLR3EEkJo%2BAmeOi%2B%2F8%3D&reserved=0>. You can view more logs there. I am not sure if this is related to WIX or not so pardon me if it isn't.

Before starting, ensure that you have

  1.  Downloaded building multi-language msi tutorial<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FPacktPublishing%2FWiX-3.6-A-Developer-s-Guide-to-Windows-Installer-XML%2Ftree%2Fmaster%2FChapter%252012%2FSingle%2520MSI%2520-%2520multiple%2520languages%2520example&data=04%7C01%7C%7C3a7d62f16c904bfa47a008d8fcc8ae5d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637537286135043344%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=05gFCGi%2F02Vnh%2B16SAEsZu%2BOsQOdXEkfmGYUzftSeN8%3D&reserved=0>
  2.  Setup a Windows Server and Windows client machine that can receive any GPO updates from the Windows Server machine. For reference, I used Windows Server 2012 R2 for server and Windows 10 Pro for client, all are VMs.
  3.  Setup a shared folder with read and execute permissions in Windows Server machine that will be used to store MSIs and is accessible by the Windows client machine.
  4.  tested that the GPO deployment is working.

Steps to reproduce:

  1.  In the multi-language msi tutorial folder, open Product.wxs and replace the GUID in line 4 with asterisk (*).
  2.  Run BuildMSI.bat to produce the MultiLanguage.MSI in Output folder
  3.  In Windows Server, add MultiLanguage.MSI to the shared folder
  4.  Open Group Policy Management and create a GPO under Domain > Group Policy Objects.
  5.  Right-click the newly-created GPO and click Edit
  6.  Under User Configuration > Policies > Software Settings, right-click the right panel, select New > Package... and add MultiLanguage.MSI from the shared folder
  7.  Set Deployment Type to Assigned and click OK.
  8.  Right-click TestInstaller, select Properties and go to Deployment tab.
  9.  Set Deployment Options to Install this application at Logon, Installation user interface options to Basic, and go to Advance and set Ignore language when deploying the package.
  10. In Windows 10 Pro client, open command prompt and run gpupdate /force /boot to trigger the GPO to update.
  11. Re-login to Windows 10 Pro client and check Event Viewer and C:\Windows\Temp\MSI*.txt logs. You will see that there is an error 1605 and the installer failed to run.

You may view the failed and successful logs and MSIs in Annex II here<https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwixtoolset%2Fissues%2Fissues%2F6417&data=04%7C01%7C%7C3a7d62f16c904bfa47a008d8fcc8ae5d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637537286135043344%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=co%2BEvKYkEC1q9vOPM0P6yz510ZVvEWq17YDKaoMrsrI%3D&reserved=0>.
Best Regards,
Mark

From: Mark Wan via wix-users<mailto:wix-users at lists.wixtoolset.org>
Sent: Wednesday, 31 March 2021 10:59 pm
To: wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>
Cc: Mark Wan<mailto:mark.in.d.house at hotmail.com>
Subject: [wix-users] Why doesn't my multi-language MSI run when setup via Group Policy Object (GPO)?

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 https://apac01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.installsite.org%2Fpages%2Fen%2Fmsi%2Farticles%2Fembeddedlang%2F&data=04%7C01%7C%7C3a7d62f16c904bfa47a008d8fcc8ae5d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637537286135043344%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=mYnaiO3ZsE4H6x0QLh502OU9d%2FDc7nDN3OhWPVY%2Fzik%3D&reserved=0

  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.



____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant https://apac01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.firegiant.com%2F&data=04%7C01%7C%7C3a7d62f16c904bfa47a008d8fcc8ae5d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637537286135043344%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=wkT4MI%2BjmDFi5uIvbGA9jjp8Yr39l7Ra3axmkrE%2Bmik%3D&reserved=0

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant https://apac01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.firegiant.com%2F&data=04%7C01%7C%7C3a7d62f16c904bfa47a008d8fcc8ae5d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637537286135043344%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=wkT4MI%2BjmDFi5uIvbGA9jjp8Yr39l7Ra3axmkrE%2Bmik%3D&reserved=0

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant https://apac01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.firegiant.com%2F&data=04%7C01%7C%7C3a7d62f16c904bfa47a008d8fcc8ae5d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637537286135043344%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=wkT4MI%2BjmDFi5uIvbGA9jjp8Yr39l7Ra3axmkrE%2Bmik%3D&reserved=0




More information about the wix-users mailing list