Deploying per-user Office extensions via ClickOnce
In part 4 of the deployment series I will show you how to deploy your per-user Office extension using ClickOnce. Before we proceed, I recommend that you read Part 1 for a brief overview of all deployment technologies.
Step 1. Set RegisterForAllUsers = false
If you develop a per-user COM add-in, RTD server or smart tag, set the RegisterForAllUsers property of the add-in module, RTD server module, or smart tag module to False. If you develop an Excel add-in (XLL add-in or Automation add-in) go to Step 2 below.
Before you modify the RegisterForAllUsers property, you must unregister the add-in project on your development PC and make sure that adxloader.dll.manifest is writable.
To access the RegisterForAllUsers property in the Properties window, click the designer surface of the module:
Step 2. Fill the Assembly information
Fill in the obligatory fields of the Assembly information as shown in the screenshot below:
Step 3. Build your project
To support 32-bit and 64-bit Office, set the Platform target property to Any CPU before building your project.
If you use a 32bit component in your Office extension (say a native-code DLL, ActiveX DLL , or .NET assembly), you have to compile it for the x86 platform. Please keep in mind that such an Office extension will work in 32bit Office 2000-2016 only and will not work in 64bit Office 2010-2016. Similarly, if you use a 64bit component, you have to compile the project for the x64 platform but your Office extension will work in 64bit Office 2010-2016 only.
Summing up, if you use a bitness-aware component, your extension will work for Office versions of that bitness only.
Step 4. Open the publish dialog
Select your project in the Solution Explorer window and choose Publish ADX Project in the project context menu.
In the opened Publish dialog, switch to the ClickOnce deployment tab.
Step 5. Populate files
Click the Populate button. This creates the Publish\{AssemblyVersion} folder and copies all files and dependencies of the Office extension (as well as the Add-in Express loader and its manifest) into that folder.
Step 6. Add additional files (optional)
To publish additional files and/or folders, copy the files and folders required by your project to the Publish/<AssemblyVersion> folder and click the Populate button again.
Step 7. Set application icon (optional)
You can add a .ico file and mark it as Icon File in the Type column of the Files listbox. This icon will be shown in the ClickOnce installer window and Windows Start menu.
Step 8. Set the “Provider URL”
In the Provider URL field, enter the location of the deployment manifest using one of the following formats:
- a web site: https://<www.website.com>/<deployment manifest name>.application
- a Virtual Directory: https://localhost/<deployment manifest name>.application
- an FTP server: ftp://<ftp.domain.com>/<deployment manifest name>.application
- a file path: C:\<folder>\<deployment manifest name>.application
- a UNC path: \\<server>\<deployment manifest name>.application
<deployment manifest name> must be in the lower case.
Step 9. Sign the installer files
Browse for the existing certificate file (.pfx or .p12) or click New to create a new one. Enter the password of the certificate if there is any.
Step 10. Set preferences (optional)
Click the Preferences button to open the following dialog window:
In this dialog, you can allow showing your custom or the built-in UI and specify the Support Location, which will provide users with additional information about your product in the Add/Remove dialog (called Programs and Features since Vista).
Step 11. Prerequisites (optional)
Click the Prerequisites button to specify the prerequisites of your Office extension.
Step 12. Click the Publish button
Upon clicking the Publish button the wizard generates (updates) the manifests:
Deployment manifest – <SolutionFolder>/Publish/<projectname>.application
Application manifest – <SolutionFolder>/Publish/<AssemblyVersion>/<ProjectName>.exe.manifest
Step 13. Upload files and folders
Upload the following files and folders to the location you specified in the Provider URL field:
– files and folders of the Publish\{AssemblyVersion} folder;
– the deployment manifest ({projectname}.application);
– setup.exe.
For testing purposes, you can just double-click the deployment manifest in Windows Explorer.
Step 14. Running the installer
To run the installer, the user needs to open the deployment manifest (<projectname>.application) in Internet Explorer or Windows Explorer.
In the “Application Install – Security Warning” dialog you click the Install button.
Clicking the Install button opens the ClickOnce installer window (see the screenshot below):
Users will see this dialog when the installation is completed successfully:
Please note that ClickOnce doesn’t provide any opportunity to customize or hide dialogs and messages shown while the user is installing or updating your add-in.
Step 15. Register/unregister or uninstall the Office extension
To unregister or re-register your Office extension, the user browses for the deployment manifest (<projectname>.application) in Internet Explorer or Windows Explorer and runs it. This opens the dialog below, where the user can click either Unregister or Register.
You can add a ClickOnce module to your project to show a custom dialog instead of the above dialog.
To uninstall your product, the user uses the standard features of operating system, Control Panel -> Add or Remove programs (Programs and Features since Vista).
Step 16. Installing a new version of the Office extension
Please see Redeploying per-user Office extensions via ClickOnce.
4 Comments
How to configure proxy information for clickonce?
Hello Karthik,
ClickOnce retrieves system settings. It doesn’t let you configure them. See also https://www.add-in-express.com/forum/read.php?FID=5&TID=12562.
Can you set up an XLL to auto update from ClickOnce?
Hello Mark,
No. With Add-in Express you can only auto-update an Office extension via ClickTwice. To find this info, download the PDF labelled ‘Add-in Express for Microsoft Office and .NET’ at https://www.add-in-express.com/downloads/documentation.php and check section ‘ClickTwice. Automatic updates’.