Удалить ключ в LookInFolders VS 2008 - 9.0 с помощью MsBuild - PullRequest
0 голосов
/ 07 октября 2011

Я использую MsBuild для регистрации надстройки VS.

Мне нужно реализовать удаление цели в MSBuild.

Как я могу удалить свой путь надстройки в реестре ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ \ Microsoft \ VisualStudio \ 9.0 \ AutomationOptions \ LookInFolders с помощью MsBuild?

Для установки я использую

    <Target Name="RegistryExtensions">

            <Message Text="Registry AddIn..."></Message>
            <Registry.Set
                RegistryHive="LocalMachine"
                Key="SOFTWARE\Microsoft\VisualStudio\9.0\AutomationOptions\LookInFolders"
                Value="$(ProgramFiles)\LifeCycle\AddIns"
                DataType="String" />

            <Message Text="Adding LifeCycle.targets to VisualStudio SafeImports ..."></Message>
            <Registry.Set
                RegistryHive="LocalMachine"
                Key="SOFTWARE\Microsoft\VisualStudio\9.0\MSBuild\SafeImports"
                Value="MyLifeCycle"
                DataType="String"
                Data="$(MSBuildExtensionsPath)\LifeCycle.targets" ContinueOnError="true">
            </Registry.Set>
        </Target>

    <Target Name="UnRegistryAddin">
<!-- TODO -->
        </Target>

Я пытаюсь получить значение, но я получаю пустую строку

    <Registry.GetKey
        RegistryHive="LocalMachine"
        Key="SOFTWARE\Microsoft\VisualStudio\9.0\AutomationOptions\LookInFolders"
        Value="$(ProgramFiles)\LifeCycle\AddIns">
        <Output TaskParameter="Data" PropertyName="Addin1"/>
    </Registry.GetKey>

    <Message Text=" Addin1 $(Addin1)" />

1 Ответ

1 голос
/ 07 октября 2011

Вы можете подать в суд DeleteKey / DeleteKeyTree Задачи реестра, см. Справка MSBuild Extension Pack

<!-- Delete a key -->
        <MSBuild.ExtensionPack.Computer.Registry 
           TaskAction="DeleteKey" 
           RegistryHive="LocalMachine" 
           Key="SOFTWARE\ANewTemp"/>

Я считаю, что он должен работать с синтаксисом, который вы используете для задачи Set:

<Registry.DeleteKey ...

Важно (обязательные атрибуты должны быть установлены):

  • DeleteKey (Обязательно: RegistryHive, Key)
  • DeleteKeyTree (Обязательно: RegistryHive, Key)
...