Some application installers can create symbolic links in the Windows registry. Each registry symbolic link associates a key with a target key. All sub keys and values of the latter key are mirrored back to the former key when viewed by Windows even though the former key is actually empty. As a result of these symbolic links, capturing these keys in Cloudpaging Studio will display the former key  and they will appears empty in project view. 


After capturing an application any registry symbolic links will be listed in Studio merge log file. Here is an example:


**********************************************************************
WARNING: List of registry symbolic links.
User should manually replicate items from the source to the destination.
**********************************************************************
From: '\REGISTRY\MACHINE\SYSTEM\Software\COMODO\Firewall Pro'. To: '\Registry\MACHINE\SYSTEM\CurrentControlSet\services\CmdAgent\Mode'.
From: '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Services\CmdAgent\Mode\Configurations'. To: '\Registry\MACHINE\SYSTEM\CurrentControlSet\services\CmdAgent\CisConfigs'.
From: '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Services\CmdAgent\Mode\Data'. To: '\Registry\MACHINE\SOFTWARE\COMODO\CIS\Data'.
From: '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Services\CmdAgent\Mode\Options'. To: '\Registry\MACHINE\SOFTWARE\COMODO\CIS\Options'.
From: '\REGISTRY\MACHINE\SYSTEM\Software\COMODO\Cam'. To: '\Registry\MACHINE\SOFTWARE\COMODO\CIS\Installer\Sym_Cam'.
From: '\REGISTRY\MACHINE\SOFTWARE\COMODO\CIS\Installer\Sym_Cam\CIS'. To: '\Registry\MACHINE\SOFTWARE\COMODO\CIS\Cam'.
From: '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\Print\Printers'. To: '\Registry\Machine\Software\Microsoft\Windows NT\CurrentVersion\Print\Printers'.
**********************************************************************
WARNING: End of list of registry symbolic links.
**********************************************************************



What Applications does this affected

According the Microsoft Windows specification (https://support.microsoft.com/en-us/kb/102966), for a Printer to be registered with the system its registry settings must exist under one of these locations:

  • HKCU\Printers
  • HKLM\System\CurrentControlSet\Control\Print


Starting in Windows 8.0 there is a change to the registry where "HKLM\System\CurrentControlSet\Control\Print\Printers" is linked to "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers". Because this link exists before the application installation is captured, Studio workspace does not receive any new items under the "from" location but get them all under the "to" location.


Other applications can also be affected and the Studio capture log should be reviewed after a capture.



How To Package Registry Symbolic Links

  1. Capture the application installation
  2. Download ListRegistryLinks utility from https://helgeklein.com/blog/2008/05/free-tool-list-registry-links-reg_link/
  3. Open a command prompt
    • Execute command ListRegistryLinks hklm and save the output to hklm.txt
    • Execute command ListRegistryLinks hkcu and save the output to hkcu.txt
  4. Go to the "Registry" tab on Studio workspace and look for registry paths in the workspace that also exist in the output files of step 3. For example, the path "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers" should be found in hklm.txt.
  5. For each of the found items, make sure that it is listed as the "to" location in the output file, then either:
    • Recursively mark the item with layer-2 disposition in the workspace; or
    • Recursively duplicate the item to the "from" location in the workspace. For example, if the printer key is "X", you can use regedit to export the key "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\X" to X.reg, then open X.reg and globally replace "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers" to "HKLM\System\CurrentControlSet\Control\Print\Printers". 
  6. After that, import the updated X.reg file into Studio workspace. 


This should give you the same set of keys at both locations in the workspace and the appset would work correctly on the client machine.




ARTICLE APPLIES TO VERSION 8.8 AND ABOVE