Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error 1605 occur when multiple-language MSI is deployed via GPO whereby its Product ID was set to asterisk (*) in Product.wxs #6417

Closed
ricardoleonhart opened this issue Apr 6, 2021 · 0 comments
Labels

Comments

@ricardoleonhart
Copy link

ricardoleonhart commented Apr 6, 2021

Bugs

  • Which version of WiX are you building with?

v3.11.2.4516

  • Describe the problem and the steps to reproduce it.

I am testing deploying a multiple-language MSI via Group Policy Object (GPO). I noticed that when the Product ID in Product.wxs is set to asterisk (*), is built 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 a static GUID before building. Manual installation is also working as per intended when Product ID is set to asterisk.

Note: You may view the failed and successful logs and MSIs in Annex II of this issue below.

Before starting, ensure that you have

  1. Downloaded the source code from building multi-language msi tutorial or get it from Annex II below.
  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 source code folder of the multi-language msi, open Product.wxs and replace the GUID in line 4 with asterisk (*).
  2. Run BuildMSI.bat to produce the MultiLanguage.MSI located 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. You may refer to picture in Annex 1 of this issue below.
  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.
  • Describe the behavior you expected and how it differed from the actual behavior.

I expect the installer to successfully run and install the program without any errors.

You may view the failed and successful logs and MSIs in Annex II of this issue below.

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 (which were 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.

Annex 1

image

Annex II
Failed GPO deployment (where Product ID="*" in Product.wxs)
Logs:
failedLog.zip
MSI:
MultiLanguageFail.zip
Source Code:
failedCode.zip

Successful GPO deployment (where Product ID="4f87d4e4-d7ee-4f52-b4dd-3fe8109cef9f" in Product.wxs)
Logs:
SuccesfulLogs.zip
MSI:
MultiLanguagePass.zip
Source Code:
successfulCode.zip

@ricardoleonhart ricardoleonhart changed the title Error 1605 occur when trying to system tries to run a multiple-language MSI deployed via GPO whereby its Product ID was set to asterisk (*) in Product.wxs file Error 1605 occur when multiple-language MSI is deployed via GPO whereby its Product ID was set to asterisk (*) in Product.wxs Apr 6, 2021
@barnson barnson closed this as completed Apr 11, 2021
@wixtoolset wixtoolset locked and limited conversation to collaborators Apr 11, 2021
@barnson barnson removed the triage label Apr 11, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants