Как удалить двоичный файл пользовательских действий на удалении?

То, когда я удаляю свой каталог продукта, куда двоичный файл пользовательского действия был помещен, остается. Как я могу удалить его. Также странный именованный каталог создается на установке - unistallation: "RSCustomActions.CA.dll -" и "RSCustomActions. CA.dll-0" (мое двоичное имя RSCustomActions.CA.dll)

Мой код WIX

<Directory Id="TARGETDIR" Name="SourceDir">
        <Directory Id="ProgramFilesFolder">
          <Directory Id="Product.Id" Name="Product">
            <Directory Id="INSTALLLOCATION" Name="Product">
              <!-- TEST -->
              <Directory Id="Installer" Name="Installer">
                <Component Id="InstallerFiles"
                             Guid="{0904DB36-2496-419c-A992-B7D86F068F12}">
                  <File Id="RSCustomActions.CA.dll" Name="RSCustomActions.CA.dll" Source="Binaries\RSCustomActions.CA.dll" />                      
                </Component>
              </Directory>
              <!-- END TEST -->                  
              <?include "Product.Files.wxi" ?>                

            </Directory>
          </Directory>
        </Directory>
        <Directory Id="ProgramMenuFolder" Name="PMenu">
            <Directory Id="ProgramMenuDir" Name="Aspose">
                <?include "Product.ProgramMenu.wxi" ?>
            </Directory>
        </Directory>
        <Component Id="Main" Shared="yes" Guid="{EDD4477A-D188-469c-B8D0-4423377C03C6}" Feature="Main.InstallFeatures">
            <RemoveFolder Id="DeleteProgramMenuDir" Directory="ProgramMenuDir" On="uninstall" />
        </Component>
    </Directory>

"Продукт. Files.wxi" также содержит

<Component Id="Product.Remove" Guid="{C6D9D74C-66E8-442a-8E53-78A8D0E2B24D}">
    <RemoveFolder Id="Product.RemoveFolder.Action" On="uninstall"/>
  </Component>  

Предложите какой-либо путь, как я могу удалить папку Installer и те strage папки с двоичным именем.

Спасибо!

1
задан PavelM Aspose 2 June 2010 в 13:13
поделиться

1 ответ

Почему вы нужно установить CA DLL как файл продукта? Вы можете просто поместить его в двоичную таблицу и забыть о нем, например:

  <!-- This is a reference to the DLL where all custom actions reside -->
  <Binary Id="CustomActions" SourceFile="$(var.Root)\CA\CustomActions.CA.dll" />

А определение настраиваемого действия выглядит примерно так:

  <!-- Sample CA definition  -->
  <CustomAction Id="MyAction" BinaryKey="CustomActions" DllEntry="MyActionMethod" />

Обратите внимание, что MyActionMethod должен быть определен в этой сборке CA и отмечен соответствующим образом. Хороший образец этого есть в dtf.chm в дистрибутиве WiX.

Надеюсь, это поможет.

2
ответ дан 3 September 2019 в 00:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: