Unique install fail case
Posted: Wed Mar 10, 2010 6:06 pm
Hi there,
We have found a very particular and vexing fail case. On native (as opposed to MUI) Japanese Vista x64 (I haven't had the chance to test any other native Japanese OSes), if the user running the installer is a member of the Administrators group, and has Japanese Unicode characters in their name, the install will fail with an "Error reading from file" dialog. If you remove any of those conditions (user can have Japanese unicode name and be in administrators group on English OS, or user in Administrators group can have English name on Japanese OS, etc), then the install proceeds normally. I have searched for similar issues in this forum, but not found any that pinpointed this exact issue, or that even really related to localization.
The dialog indicates that the MSI is looking for the files here:
C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE
When it should actually be looking in one of these locations:
C:\ProgramData\{CECA513F-FD7D-4B8A-95EC-35D61102BAB7}\OFFLINE
C:\Users\日本人\AppData\Local\Temp\miaE984.tmp\OFFLINE
Here is a snippet from the fail case:
MSI (s) (A0:90) [11:20:49:876]: Executing op: FileCopy(SourceName=WRCons~1|WRConsumerService.exe,SourceCabKey=WRCons7e17cWRConsumerSer,DestName=WRConsumerService.exe,Attributes=0,FileSize=2894000,PerTick=32768,,VerifyMedia=1,,,,,CheckCRC=0,Version=7.0.3.233,,InstallMode=58982400,,,,,,,)
MSI (s) (A0:90) [11:20:49:908]: File: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe; To be installed; Won't patch; No existing file
MSI (s) (A0:90) [11:20:49:908]: Source for file 'WRConsumerService.exe' is uncompressed, at 'C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE\E3131F5C\DE0A17F3\'.
MSI (s) (A0:90) [11:20:49:908]: Note: 1: 2318 2: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:908]: Note: 1: 1309 2: 3 3: C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE\E3131F5C\DE0A17F3\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 2318 2: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 1309 2: 3 3: C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE\E3131F5C\DE0A17F3\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 2318 2: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 1309 2: 3 3: C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE\E3131F5C\DE0A17F3\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 2318 2: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 1309 2: 3 3: C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE\E3131F5C\DE0A17F3\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 2318 2: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 1309 2: 3 3: C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE\E3131F5C\DE0A17F3\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 2318 2: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:939]: Note: 1: 1309 2: 3 3: C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE\E3131F5C\DE0A17F3\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:939]: Note: 1: 2205 2: 3: Error
MSI (s) (A0:90) [11:20:49:955]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1309
And here is the same snippet from a successful run (same user, but not in Administrators group, though still run elevated due to UAC prompt with an admin's password):
MSI (s) (BC:88) [15:45:07:781]: Executing op: FileCopy(SourceName=WRCons~1|WRConsumerService.exe,SourceCabKey=WRCons7e17cWRConsumerSer,DestName=WRConsumerService.exe,Attributes=0,FileSize=2894000,PerTick=32768,,VerifyMedia=1,,,,,CheckCRC=0,Version=7.0.3.233,,InstallMode=58982400,,,,,,,)
MSI (s) (BC:88) [15:45:07:781]: File: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe; To be installed; Won't patch; No existing file
MSI (s) (BC:88) [15:45:07:781]: Source for file 'WRConsumerService.exe' is uncompressed, at 'C:\PROGRA~3\{CECA5~1\OFFLINE\E3131F5C\DE0A17F3\'.
MSI (s) (BC:88) [15:45:07:781]: Note: 1: 2318 2: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe
MSI (s) (BC:88) [15:45:07:984]: Executing op: SetTargetFolder(Folder=C:\Program Files (x86)\Webroot\Security\Current\Framework\)
MSI (s) (BC:88) [15:45:08:000]: Executing op: SetSourceFolder(Folder=1\OFFLIN~1\C3BEFA~1\DE0A17~1\|OFFLINE\C3BEFA\DE0A17F3\)
As you can see, the obvious difference is where the MSIs are pulling the files from; in each fail case, the MSI goes to:
C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE
But in the success cases, the MSI uses:
C:\ProgramData\{CECA513F-FD7D-4B8A-95EC-35D61102BAB7}\OFFLINE
In both cases, these variables have the same values:
ENGINECACHE,C:\ProgramData\{CECA513F-FD7D-4B8A-95EC-35D61102BAB7}
DATADIR,C:\ProgramData\{CECA513F-FD7D-4B8A-95EC-35D61102BAB7}
MSIFILE,C:\Users\Webroot\AppData\Local\Temp\mia1\WRInstall.msi
SUPPORTDIR,C:\Users\Webroot\AppData\Local\Temp\mia1
Of possible interest:
* The build is a Compressed Web-Based EXE
* No files are downloaded; they are all present in the installer
* The UAC Elevation is set to "Always Elevate (requireAdministrator)"
* I tried setting ALLUSERS to TRUE explicitly in the MSIcode, but it didn't fix anything
* We are using IA Studio 9.06, Service Pack 1 (build Moya)
I can gladly provide any more information that you require. This is a matter of some importance to us, so if you have any suggestions or fixes, they would be most appreciated. Thank you kindly,
Charles Wallace
Webroot Software
We have found a very particular and vexing fail case. On native (as opposed to MUI) Japanese Vista x64 (I haven't had the chance to test any other native Japanese OSes), if the user running the installer is a member of the Administrators group, and has Japanese Unicode characters in their name, the install will fail with an "Error reading from file" dialog. If you remove any of those conditions (user can have Japanese unicode name and be in administrators group on English OS, or user in Administrators group can have English name on Japanese OS, etc), then the install proceeds normally. I have searched for similar issues in this forum, but not found any that pinpointed this exact issue, or that even really related to localization.
The dialog indicates that the MSI is looking for the files here:
C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE
When it should actually be looking in one of these locations:
C:\ProgramData\{CECA513F-FD7D-4B8A-95EC-35D61102BAB7}\OFFLINE
C:\Users\日本人\AppData\Local\Temp\miaE984.tmp\OFFLINE
Here is a snippet from the fail case:
MSI (s) (A0:90) [11:20:49:876]: Executing op: FileCopy(SourceName=WRCons~1|WRConsumerService.exe,SourceCabKey=WRCons7e17cWRConsumerSer,DestName=WRConsumerService.exe,Attributes=0,FileSize=2894000,PerTick=32768,,VerifyMedia=1,,,,,CheckCRC=0,Version=7.0.3.233,,InstallMode=58982400,,,,,,,)
MSI (s) (A0:90) [11:20:49:908]: File: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe; To be installed; Won't patch; No existing file
MSI (s) (A0:90) [11:20:49:908]: Source for file 'WRConsumerService.exe' is uncompressed, at 'C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE\E3131F5C\DE0A17F3\'.
MSI (s) (A0:90) [11:20:49:908]: Note: 1: 2318 2: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:908]: Note: 1: 1309 2: 3 3: C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE\E3131F5C\DE0A17F3\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 2318 2: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 1309 2: 3 3: C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE\E3131F5C\DE0A17F3\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 2318 2: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 1309 2: 3 3: C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE\E3131F5C\DE0A17F3\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 2318 2: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 1309 2: 3 3: C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE\E3131F5C\DE0A17F3\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 2318 2: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 1309 2: 3 3: C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE\E3131F5C\DE0A17F3\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:923]: Note: 1: 2318 2: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:939]: Note: 1: 1309 2: 3 3: C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE\E3131F5C\DE0A17F3\WRConsumerService.exe
MSI (s) (A0:90) [11:20:49:939]: Note: 1: 2205 2: 3: Error
MSI (s) (A0:90) [11:20:49:955]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1309
And here is the same snippet from a successful run (same user, but not in Administrators group, though still run elevated due to UAC prompt with an admin's password):
MSI (s) (BC:88) [15:45:07:781]: Executing op: FileCopy(SourceName=WRCons~1|WRConsumerService.exe,SourceCabKey=WRCons7e17cWRConsumerSer,DestName=WRConsumerService.exe,Attributes=0,FileSize=2894000,PerTick=32768,,VerifyMedia=1,,,,,CheckCRC=0,Version=7.0.3.233,,InstallMode=58982400,,,,,,,)
MSI (s) (BC:88) [15:45:07:781]: File: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe; To be installed; Won't patch; No existing file
MSI (s) (BC:88) [15:45:07:781]: Source for file 'WRConsumerService.exe' is uncompressed, at 'C:\PROGRA~3\{CECA5~1\OFFLINE\E3131F5C\DE0A17F3\'.
MSI (s) (BC:88) [15:45:07:781]: Note: 1: 2318 2: C:\Program Files (x86)\Webroot\Security\Current\Framework\WRConsumerService.exe
MSI (s) (BC:88) [15:45:07:984]: Executing op: SetTargetFolder(Folder=C:\Program Files (x86)\Webroot\Security\Current\Framework\)
MSI (s) (BC:88) [15:45:08:000]: Executing op: SetSourceFolder(Folder=1\OFFLIN~1\C3BEFA~1\DE0A17~1\|OFFLINE\C3BEFA\DE0A17F3\)
As you can see, the obvious difference is where the MSIs are pulling the files from; in each fail case, the MSI goes to:
C:\Users\日本人\AppData\Local\Temp\mia1\OFFLINE
But in the success cases, the MSI uses:
C:\ProgramData\{CECA513F-FD7D-4B8A-95EC-35D61102BAB7}\OFFLINE
In both cases, these variables have the same values:
ENGINECACHE,C:\ProgramData\{CECA513F-FD7D-4B8A-95EC-35D61102BAB7}
DATADIR,C:\ProgramData\{CECA513F-FD7D-4B8A-95EC-35D61102BAB7}
MSIFILE,C:\Users\Webroot\AppData\Local\Temp\mia1\WRInstall.msi
SUPPORTDIR,C:\Users\Webroot\AppData\Local\Temp\mia1
Of possible interest:
* The build is a Compressed Web-Based EXE
* No files are downloaded; they are all present in the installer
* The UAC Elevation is set to "Always Elevate (requireAdministrator)"
* I tried setting ALLUSERS to TRUE explicitly in the MSIcode, but it didn't fix anything
* We are using IA Studio 9.06, Service Pack 1 (build Moya)
I can gladly provide any more information that you require. This is a matter of some importance to us, so if you have any suggestions or fixes, they would be most appreciated. Thank you kindly,
Charles Wallace
Webroot Software