Subject: [postgresql-interfaces/psqlodbc] issue #49: X64 merge module installer fails

From: "cubt85iz (@cubt85iz)" <[email-masked]>
Date: Thu, 26 Sep 2024 14:47:29 +0000

Created a WiX Toolset installation that includes the merge module for the latest version and it appears to be suffering from the same issue that the x64 MSI was experiencing in the issue discussion referenced below.

![image](https://github.com/user-attachments/assets/a64ad8d6-e10b-4728-b7e6-4650a9f1ec56)

Ref: https://github.com/postgresql-interfaces/psqlodbc/pull/6

---

From: "davecramer (@davecramer)" <[email-masked]>
Date: Thu, 26 Sep 2024 19:02:06 +0000

well that looks like an error where2 file name are being concatenated. Thanks for the report

---

From: "davecramer (@davecramer)" <[email-masked]>
Date: Fri, 27 Sep 2024 00:02:00 +0000

does anyone know what dyoqjjp5.dll is ?

---

From: "chrullrich (@chrullrich)" <[email-masked]>
Date: Sun, 29 Sep 2024 10:05:54 +0000

A placeholder name generated by WiX because MSI wants to see short (8.3) file names in some places.

---

From: "cubt85iz (@cubt85iz)" <[email-masked]>
Date: Mon, 30 Sep 2024 15:24:27 +0000

__Side note__: Attempting to install the MSI as part of a burn bundle fails as well. It appears as though WiX may be supplying a value for `REINSTALLMODE` and that causes the following condition to be triggered:

https://github.com/postgresql-interfaces/psqlodbc/blob/ab76a10c4d98567f4d0827f659304da8377ddc2f/installer/psqlodbc_cpu.wxs#L155

It doesn't appear that I can override the value provided for `REINSTALLMODE` either.
```
The 'REINSTALLMODE' MsiProperty is controlled by the bootstrapper and cannot be authored. (Illegal properties are: 'ACTION', 'ADDLOCAL', 'ADDSOURCE', 'ADDDEFAULT', 'ADVERTISE', 'ALLUSERS', 'REBOOT', 'REINSTALL', 'REINSTALLMODE', or 'REMOVE'.) Remove the MsiProperty element.
```

Burn bundle install log:
```
MSI (s) (E4:6C) [07:19:16:587]: PROPERTY CHANGE: Adding MsiLogFileLocation property. Its value is 'C:\Users\phoffman\AppData\Local\Temp\PostgreSQLForRTSO_20240930071822_001_psqlodbc_x64.msi.log'.
MSI (s) (E4:6C) [07:19:16:587]: Command Line: ARPSYSTEMCOMPONENT=1 MSIFASTINSTALL=7 BURNMSIINSTALL=1 REINSTALLMODE=muso REBOOT=ReallySuppress CURRENTDIRECTORY=C:\Users\phoffman\Documents CLIENTUILEVEL=3 MSICLIENTUSESEXTERNALUI=1 CLIENTPROCESSID=5604 
```
Pretty easy to reproduce outside of creating a burn bundle if you just pass the property to an msiexec command.
![image](https://github.com/user-attachments/assets/14451421-96cb-48da-b1ce-4b412f9244bd)

---

From: "ScherzerThomas (@ScherzerThomas)" <[email-masked]>
Date: Mon, 18 Nov 2024 13:09:40 +0000

I can also confirm this error.
I've got it, when i created a single msi from the x86 and x64 msm file.
Does not appear, when creating a x86 only msi from msm

---

From: "davecramer (@davecramer)" <[email-masked]>
Date: Sat, 23 Nov 2024 00:31:42 +0000

@chrullrich any thoughts ?

---

From: "chrullrich (@chrullrich)" <[email-masked]>
Date: Sat, 23 Nov 2024 04:01:49 +0000

I will take a look.

The file name problem looks like @cubt85iz may not have run modify_msi.vbs on the finished installer. It is rather unfortunate that this is required; if more reports of this kind emerge the last resort would be to change the file names to 8.3 despite the pain that will bring. [Update: Not so much pain if the long file names are also there.]

---

From: "chrullrich (@chrullrich)" <[email-masked]>
Date: Sun, 24 Nov 2024 10:45:40 +0000

WFM if modify_msi.vbs is used on the finished MSI.

---

From: "chrullrich (@chrullrich)" <[email-masked]>
Date: Sun, 24 Nov 2024 11:20:39 +0000

This is fixed by #76 (if that change is viable).

---

From: "cubt85iz (@cubt85iz)" <[email-masked]>
Date: Tue, 26 Nov 2024 01:00:01 +0000

> The file name problem looks like @cubt85iz may not have run modify_msi.vbs on the finished installer. It is rather unfortunate that this is required; if more reports of this kind emerge the last re…

Appreciate the reply. Your assumption is correct. I did not execute the modify_msi.vbs script against the merge module.