Office 2013 and Office 2016 Click-to-Run compatibility issues with Protection PLUS
Summary of the problem
When Microsoft Office is installed via a Click-to-Run deployment, you may experience issues with Microsoft Office add-ins or macros that use Protection PLUS features that write values to certain areas of the Windows Registry. This can occur even if you properly set the permissions for the values written to the Windows Registry.
Symptoms
When licensed software is running in Microsoft Office 2013 or later in a Click-to-Run deployment, the following may occur:
- Instant Protection PLUS 3 users may see their licensed applications fail to run after displaying an Error 46 message.
- Protection PLUS 5 SDK users (particularly when using writable license files and aliases) may receive errors such as 9219 (only when using PLUSNative) or 9201 from functions that attempt to write a value to the Windows Registry.
- Protection PLUS 4 SDK users may see error 46 returned from any Protection PLUS 4 SDK function that attempts to write a value to the Windows Registry.
Cause
The problem occurs due to a known issue with Click-to-Run registry virtualization.
Status
Microsoft has acknowledged the issue but concluded there is no fix or workaround.
Who is affected?
This affects anyone developing software that runs in Microsoft Office applications (such as Word, Excel, Access, Outlook, etc…). This issue affects any binaries or code that are loaded and run by Microsoft Office applications. Affected software includes (but is not limited to) things such as add-ins, macros, custom ODBC drivers, and more. Click-to-Run is used in some Office 2013 installations (especially when installed through Office 365) and most (if not all) Office 2016 installations.
I have users that cannot use my software now. Is there a quick fix?
A temporary workaround is for the user to follow these steps:
- Right-click the shortcut in the start menu for the appropriate Microsoft Office application (e.g. Word, Excel, Access, Outlook, etc…), and click the "Run as administrator" option.
- Run the affected, licensed software that previously generated an error.
- Close the Microsoft Office application.
- Run the Microsoft Office application normally (not as administrator).
- Run the affected, licensed software again, and confirm it no longer generates an error.
Note that this issue may reoccur if and when Microsoft updates the Microsoft Office application, at which point these steps need to be repeated to temporarily resolve the issue again.
Running as administrator can be a security risk to your end-users! Consequently, it is very important your users only run the Microsoft Office application as an administrator long enough to get past the problem as described above. Running as administrator must never be treated as a permanent workaround.
Is there a permanent fix?
The only permanent fix known is to use current user locations (which is unaffected by this issue) for Protection PLUS license files and aliases. However, this approach means each user on a computer is required to activate the licensed software.
- Instant Protection PLUS 3 users can open the existing project for the affected software, and select the "Auto-create in the current user registry" option in the License File Options screen.
- Protection PLUS 5 SDK users can update any license files or aliases in global locations to use current user locations instead. You can read the manual for more information on how to address this specifically for PLUSManaged or PLUSNative as appropriate.
- Protection PLUS 4 SDK users can update any license files or aliases in global locations to use current user locations instead. Read the manual for more information on storage locations.
Regardless of which of the above is used by your software, changing the locations as described above may result in your software requiring previously activated users to activate again. It is critical for you to test such an update before publishing it so you can avoid this if possible, or so you can be prepared to deal with it if necessary.