I was looking for a free application to discover which applications where used in a environment. This is very useful when planning a major change in an environment (physical to virtual, or SBC to VDI, etc). But even more important when you’re scaling an environment with a loadtest, where the simulated load should match the real load. Neil Spellings was so kind to point me at the Centrix Workspace Discovery software.
During installation on a Dutch (Windows 7 x64) operating system I ran into problems. These are easy to fix (see below) but I recommend you to install it on a English OS (as with all server components).
Error 1722 during installation
The installation fails halfway with a (very well documented) error in the custom action ‘Permission_Defaultfolder’.
MSI (s) (08:88) [12:04:40:751]: Executing op: ActionStart(Name=Permission_Defaultfolder,,) Action 12:04:40: Permission_Defaultfolder. MSI (s) (08:88) [12:04:40:761]: Executing op: CustomActionSchedule(Action=Permission_Defaultfolder,ActionType=3106,Source=C:\Windows\SysWOW64\,Target=cacls.exe "C:\Program Files (x86)\Centrix Software\WorkSpace\Service/Default" /C /T /E /G Everyone:F /P users:F,) CustomAction Permission_Defaultfolder returned actual error code 1332 (note this may not be 100% accurate if translation happened inside sandbox) MSI (s) (08:88) [12:04:40:842]: Note: 1: 1722 2: Permission_Defaultfolder 3: C:\Windows\SysWOW64\ 4: cacls.exe "C:\Program Files (x86)\Centrix Software\WorkSpace\Service/Default" /C /T /E /G Everyone:F /P users:F Error 1722.There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action Permission_Defaultfolder, location: C:\Windows\SysWOW64\, command: cacls.exe "C:\Program Files (x86)\Centrix Software\WorkSpace\Service/Default" /C /T /E /G Everyone:F /P users:F MSI (s) (08:88) [12:05:17:746]: Product: WorkSpace Discovery -- Error 1722.There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action Permission_Defaultfolder, location: C:\Windows\SysWOW64\, command: cacls.exe "C:\Program Files (x86)\Centrix Software\WorkSpace\Service/Default" /C /T /E /G Everyone:F /P users:F
Since this the language of my machine is Dutch, the names of the groups ‘Everyone’ and ‘Users’ are different. They are ‘Iedereen’ and ‘Gebruikers’, so the command fails. Unfortunately the cacls.exe command isn’t multi-language aware and neither is the Centrix Workspace Discovery software.
For now the only solution (and quickest) is to ‘help’ the installer in translating the name of the well-known-groups. For this we need to extract the executable (installer) and adjust the MSI file. Easiest way of doing this is by running the installation and copying the extracted files from the temporary directory (%temp%) so different location (for instance my desktop).
Now we need to edit the MSI and translate the name of the groups. We can use Orca (a Microsoft tool supplied in the Platform SDK, or download here) to edit the MSI
Open the table ‘CustomAction’ and scroll to the row of action ‘Permission_Defaultfolder’. In the column Target you will find the text…
cacls.exe "[INSTALLDIR]Service/Default" /C /T /E /G Everyone:F /P users:F
…now change the text with to the translated (Dutch) group names…
cacls.exe "[INSTALLDIR]Service/Default" /C /T /E /G Iedereen:F /P gebruikers:F
and save the MSI.
Now if you run the installation if will set the permissions on the folder, with the proper group names, and will finish successfully.
PS: In case you get an error 1406 (Could not write value to key ….. Verify that you have sufficient access to that key or contact your support personal.) you did not start the installation with elevated rights. Keep in mind that UAC will block all administrative task, that include registry actions in the HKLM hive.
You can either install the software for all users, which requires you to elevate permissions, or install the software via an elevated session (for instance via a command-prompt with elevated rights).