2015-12-10 4 views
3

Я создал резкое расширение оболочки для настройки контекстного меню контекстного меню Windows с использованием .Net. Результатом проекта является .dll. Я пытаюсь установить и зарегистрировать его с помощью диспетчера сервера, который существует с острыми инструментами оболочки, и он успешно работал. Теперь мне нужно установить и зарегистрировать это расширение оболочки из моего проекта wix, так как мне нужно, чтобы пользователь установил мое приложение и получил его контекстное меню с правом щелчка окон, настроенных после установки.Установка и регистрация расширения оболочки Контекстное меню От установщика wix

Мне нужны подробные шаги, поскольку я новичок в использовании установщика Wix.

+0

Добра пожаловать на переполнение стека. Пожалуйста, примите [тур] и посетите нашу [помощь]. В вашем вопросе отсутствуют детали, чтобы определить, где вы застряли в вашей текущей попытке. Если вы еще не начали, я боюсь, что мы не можем вам помочь, так как мы не очень хорошо подходим для предоставления полных учебников. – rene

ответ

6

Вот как вы можете зарегистрировать свой добавочный номер 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

Надеется, что это поможет;)

+0

Большое спасибо за подробную помощь @rene – Laila

+0

Вместо '[INSTALLFOLDER]' Мне пришлось использовать '[INSTALLDIR]' – Peter

Смежные вопросы