Most times we choose to add the primary output from a project into a Visual Studio setup instead of the direct output DLL. This makes the setup project configuration more flexible, e.g. allowing debug and release setup builds, do not have to worry about assembly renaming or more output files being added in with time, etc.
However this may bring up issues sometimes. In this post, let us look at these matters in detail.
One matter needs to be paid attention is regarding the properties of project references. If any such references are supposed to be provided by the OS, the .NET Framework, or any other applications, their Copy Local properties had better (MUST in most of cases) be set as FALSE. These are done by default automatically when most .NET Assemblies are referenced in.
However, it is not the case for Revit API assemblies if they are being referenced in manually through the Add References dialog. In this situation, the Copy Local of RevitApi, RevitApiUi, or any other API assemblies have to be manually changed from the default TRUE to FALSE:
Otherwise, tricky issues may just occur during debugging or testing in the development environment or running in the product environment.
The good news is that if the Revit API assemblies are referenced in by the RevitAddWizard, we do not have to worry about the matter anymore as they will be properly and automatically taken care of.
As far as installers are concerned, if the Copy Local property of any API assemblies is marked as TRUE in the project, the assembly will be brought into the setup package as part of the project primary output and the addin may have odd behavior when being loaded or running in Revit.
Even if the Copy Local properties of API assembly references are marked as FALSE, when the primary output from the project is added to the setup package, the API assembly dependencies will be detected automatically and be added to the package in turn. In this situation, we’d better (MUST in most cases) exclude them explicitly:
Otherwise, weird behavior will come up sooner or later. And another important reminder is that the publisher may not permit these files to be deployed somewhere by somebody.
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 installation.
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