2010-06-02 3 views
1

Lorsque je désinstalle mon répertoire de produits où l'action binaire personnalisée a été placée reste. Comment puis-je le supprimer. Aussi étrange répertoire nommé est créé lors de l'installation - unistallation: "RSCustomActions.CA.dll-" et "RSCustomActions.CA.dll-0" (mon RSCustomActions.CA.dll nom binaire)Comment faire pour supprimer des actions personnalisées binaire sur la désinstallation?

Mon code Wix est

<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> 

« Product.Files.wxi » contient également

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

S'il vous plaît toute suggestion façon comment puis-je supprimer le dossier d'installation et les dossiers strage avec le nom binaire.

Merci! Pourquoi avez-vous besoin d'installer la DLL CA en tant que fichier du produit?

Répondre

2

Vous pouvez simplement le mettre à la table binaire et oublier, comme ceci:

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

Et la définition d'action personnalisée est quelque chose comme ceci:

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

Notez que MyActionMethod doit être défini dans cette assemblée de CA et marqué de manière appropriée. Il y a un bon exemple de ceci dans dtf.chm dans la distribution de WiX.

Espérons que cela aide.

+0

Merci, Yan. Votre conseil a résolu mon problème. –

Questions connexes