Code signing is an optional process that developers can choose to enable when building this repo. Autodesk strongly recommends that all Revit Plugins be signed with a code signing certificate, authenticating the plugin and adding its creator to the list of certified developers on users computer. This prevents a pop-up window from appearing every time user starts Revit, and tries to load a plugin from an unknown developer. Since HOK uses domain based certificates, if you are a developer for HOK, you would have (or can request to have it added by the IT) a certificate called "Code Signing DTM" installed on your machine. If that's the case simply comment out this line of code in the *.csproj file:
<Exec Command=""C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64\signtool.exe" sign /c "Code Signing - DTM" /v "$(TargetPath)"" />
However, if you are one of the Open Source users of these tools, and want to use a specific PFX file located on your drive, and don't want to share your password with everyone use this code instead:
<Exec Command=""C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x86\signtool.exe" sign /f "$(SolutionDir)..\_cert\archilabCertificate.pfx" /p "$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\HOK', 'certificatePassword', null, RegistryView.Registry64, RegistryView.Registry32))" /t http://timestamp.comodoca.com/authenticode "$(TargetPath)"" />
For the above:
_cert
folder. It will be ignored by the .gitignore
so no worries about it getting published.Most of the tools in this repository have a reference to HOK.Core. This is because most of these tools use some utilities from that DLL. One of these utilities is a HOK Feedback tool that can be easily embedded into any other tool via a button. This tool allows users to post an issue directly to GitHub via a proxy user and a special access token. In order to make that tool work for anyone, anywhere, without distributing other people's tokens and repo info, there is a Settings.json
file embedded into the Resources in HOK.Core.dll. Here's the contents schema:
{
"FeedbackToken": "<access token>",
"FeedbackPath": "/repos/<user>/<repo name>/",
"ModelReportingServiceEndpoint": "<reporting server endpoint>",
"CitrixDesktopConnectorKey": "<registry key path>",
"CitrixDesktopConnectorValue": "<registry value name>",
"FileOnOpeningFmeUserId": "<fme user id>",
"FileOnOpeningFmePassword": "<fme password>",
"FileOnOpeningFmeHost": "<fme endpoint>",
"FileOnOpeningFmePort": <port number>,
"FileOnOpeningFmeClientId": "<fme client id>",
"HttpAddress": "<address to MC production server>",
"HttpAddressDebug": "<address to MC testing server>"
"ClarityUserId": "<Clarity user id>",
"ClarityToken": "<Clarity access token>",
"ClarityMachine": "<Machine used to generate access token>",
"ClarityServers": ["<clarity_server1>", "<clarity_server2>"]
}
/repos/HOKGroup/MissionControl_Issues/
. Please not the /repos/
and /
at the end of the address. Make sure to replace the content of <>
with a valid name, and make sure that access token is valid to grant user access to the repo.Actual values can be found here: HOK Teams