Вот как вы можете зарегистрировать свой добавочный номер WiX:
Прежде всего, необходимо определить (в рамках продукта) пользовательские действия для регистрации/UNREGISTER вашего расширения:
<Product>
<!-- ... -->
<CustomAction Id="InstallShell" FileKey="srm.exe" ExeCommand='install "[INSTALLFOLDER]\MyExtension.dll" -codebase' Execute="deferred" Return="check" Impersonate="no" />
<CustomAction Id="UninstallShell" FileKey="srm.exe" ExeCommand='uninstall "[INSTALLFOLDER]\MyExtension.dll"' Execute="deferred" Return="check" Impersonate="no" />
</Product>
Затем вам нужно настроить установку выполнить последовательность, чтобы запустить эти пользовательские действия:
<Product>
<!-- ... -->
<InstallExecuteSequence>
<Custom Action="InstallShell" After="InstallFiles">NOT Installed</Custom>
<Custom Action="UninstallShell" Before="RemoveFiles">(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom>
</InstallExecuteSequence>
</Product>
«MyExtension.dll» является идентификатор вашего расширения длл Ressource в вашем WIX PROJEC т:
<Component Guid="*">
<File Id="MyExtension.dll" KeyPath="yes" Source="bin\$(var.Configuration)\MyExtension.dll" />
</Component>
То же самое для srm.exe:
<Component Guid="*">
<File Id="srm.exe" Source="packages\SharpShellTools.2.2.0.0\lib\srm.exe" KeyPath="yes" />
</Component>
Вам нужно получить srm.exe, связанные с версией Sharpshell вы используете (я рекомендую вам использовать пакет NuGet). Вы можете найти информацию об этом здесь: http://www.codeproject.com/Articles/653780/NET-Shell-Extensions-Deploying-SharpShell-Servers
Надеется, что это поможет;)
Добра пожаловать на переполнение стека. Пожалуйста, примите [тур] и посетите нашу [помощь]. В вашем вопросе отсутствуют детали, чтобы определить, где вы застряли в вашей текущей попытке. Если вы еще не начали, я боюсь, что мы не можем вам помочь, так как мы не очень хорошо подходим для предоставления полных учебников. – rene