This week's meeting might have started out as a serious contender for shortest WiX Online Meeting yet, but it turns out even so many years into the life of WiX, we can get an issue that surprises us grizzled veterans of setup and deployment.
Issue triage
Local user, created by msi package, is absent after major upgrade if RemoveExistigProducts is placed after InstallInitialize, from @aleksandr-grechko, came back with verbose logs (well known as the best kind of logs). The issue is that the
RemoveUser
custom action that deletes a user during uninstall is a commit custom action because deleting a user can't be rolled back. (The custom action can't just get the user's password to recreate the user once it's been deleted. Pretty sure storing passwords is one way to get into security trouble.) One possibility is to makeRemoveUser
a normal deferred custom action and schedule it as late as possible, to reduce the possibility that a rollback leaves the user deleted. We took the issue into WiX v4.0 to investigate and decide on a change before a major release.WiX 3.11 stdba String Capitalization, from @nick2893, reports some capitalization in the WixStdBA UI that makes me sad enough that I volunteered to fix it in WiX 4.0.
NetFx ChainingPackage, from @iswix-llc, suggests that the
WixNetFxExtension
package groups for the .NET Framework redistributable leaks information about the installing bundle. As the .NET Framework redistributable doesn't send telemetry unless the machine has been opted-in to telemetry, there's no information leak by default. However, we should investigate whether there's any value in specifying the/ChainingPackage
switch. If the only entity getting value out of the switch is the .NET team, perhaps some bribery can be arranged. We took the issue into WiX v4.x to investigate.Heat Directory Harvesting Makes Directory Id=x64 (Violates ICE99), from @nick2893, reports that when using the
-suid
switch and harvesting a directory namedx64
, Heat.exe generates a directory with idx64
, which is illegal. Using the-suid
switch avoids the problem because every id is unique, so that's a workaround. However, Heat.exe should be smarter about well-known directory ids so we took the issue into WiX v4.x.