As discussed earlier, it is a good practice to create a Revit Addin Manifest file dynamically, fill in the assembly path properly, and deploy the file to the desired roaming folder correctly in an installer rather than packaging a static manifest file with everything hard coded. Otherwise, it will lose all flexibilities and users cannot even change the installation folder which the addin assembly in the manifest depends on.
Creating an Installer derivative and adding a custom action into the setup project to do the above apparently is a good and relatively cost effective approach. Some questions may come to mind then.
The first: What is a Custom Installer?
Please consult MSDN documentations like:
http://msdn.microsoft.com/en-us/library/system.configuration.install.installer.aspx
The second: What are Custom Actions?
Please consult MSDN documentations like:
http://msdn.microsoft.com/en-us/library/bd8h80ez(v=vs.80).aspx
The third: How to create a Custom Action?
Please consult MSDN documentations like:
http://msdn.microsoft.com/en-us/library/d9k65z2d(v=vs.80).aspx
The next and most important one: Where to put the Custom Installer?
At first thought, most people would try to put the installer class into the Revit Addin project itself, but a vague error message would always show up saying:
The message was not so helpful for trouble shooting the problem and no matter what were tried the same message kept coming up during installations.
After another separate project being created and the installer class being moved into it, everything became fine.
So it is not good at all to put the custom installer classes into the Revit Addin project itself. Instead, please create another separate simple class library project with only default references and define the custom installers there.
Last but not least: Is there an example of deploying a manifest file in an installer with custom actions?
Sure. It will be provided in the coming post.
Revit Manifest Register of RevitAddinWizard helps create an installer custom action project flexibly in no time. The action will automatically create a manifest file, append proper path to the specified assembly, and deploy the file to the right Revit Addin roaming folder during installations.
Related posts:
Deploy & Install: Revit Application Addin Manifest
Deploy & Install: Revit Command Addin Manifest
Deploy & Install: Revit Addin Roaming Folders
Deploy & Install: The Registry of Revit 2011
Deploy & Install: The Registry of Revit 2012
Deploy & Install: Where Are Revit Products Installed
Deploy & Install: Manifest Navigator of RevitAddinWidget
Deploy & Install: RegEdit Launcher of RevitAddinWidget
Deploy & Install: Revit Locator of RevitAddinWidget
Deploy & Install: Manifest Encoding
Deploy & Install: Manifest Loading
Deploy & Install: Manifest ClientId
Deploy & Install: Manifest ClientId and AddinId
Deploy & Install: Manifest Integrity
Deploy & Install: Revit Manifest Organizer
Deploy & Install: Create New Of Revit Manifest Organizer
Deploy & Install: Check Integrity New Of Revit Manifest Organizer
Deploy & Install: Detect Duplicate New Of Revit Manifest Organizer
Deploy & Install: View Selected Of Revit Manifest Organizer
Deploy & Install: Edit Selected Of Revit Manifest Organizer
Deploy & Install: Merge Selected Of Revit Manifest Organizer
Deploy & Install: Dismantle Selected Of Revit Manifest Organizer
Deploy & Install: Copy/Move/Delete Selected Of Revit Manifest Organizer
Deploy & Install: Miscellaneous Of Revit Manifest Organizer
Deploy & Install: Create Revit Manifest Files Programmatically With C#
Deploy & Install: Programmatically Detect Windows Versions And Find Revit Addin Roaming Folders
Deploy & Install: Revit Addin Project Output And API Dependencies
Deploy & Install: Revit Addin Projects and Visual Studio Setup Custom Actions
Deploy & Install: Deploy Revit Manifest Files with C# Using Installer Custom Actions
Recent Comments