2017-08-15 6 views
2

Ich habe dieses Wix XML-Skript, um meinen Dienst und ein Verknüpfungssymbol auf dem Desktop zu installieren. Die Installation funktioniert einwandfrei, das Deinstallationsprogramm funktioniert auch, aber es lässt das Verknüpfungssymbol auf dem Desktop. Ich kann nicht herausfinden, was falsch ist, habe ich die On="uninstall" Parameter wie auf der Wix-Dokumentation angegeben,Desktop-Symbol wird nicht nach der Deinstallation entfernt - Wix

hier die XML:

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
    xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"> 
<Product Id="*" Name="Administration Service" Language="1033" Version="1.3.0.0" Manufacturer="company" UpgradeCode="PUT-GUID-HERE> 
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Platform="x64"/> 

    <Icon Id="shortcut_s.url" SourceFile="./../ReviewerBootstrapper/reviewer.ico"/> 
    <Property Id="ARPPRODUCTION" Value="shortcut_s.url"/> 
    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> 
    <Media Id="1" Cabinet="cab1.cab" EmbedCab="yes" /> 

    <Feature Id="ProductFeature" Title="AdministrationServiceInstallation" Level="1"> 
      <ComponentGroupRef Id="ProductComponents" /> 
      <ComponentGroupRef Id="AdministrationServiceComponents" /> 
      <ComponentRef Id="ApplicationShortcut" /> 
      <ComponentRef Id="ApplicationShortcutDesktop"/> 
    </Feature> 

    </Product> 


    <Fragment> 
    <Directory Id="TARGETDIR" Name="SourceDir"> 
     <Directory Id="ProgramFiles64Folder"> 
     <Directory Id="Company" Name="Eurotherm"> 
      <Directory Id="App" Name="Reviewer"> 
      <Directory Id="INSTALLFOLDER" Name="AdministrationService" >  
      </Directory> 
      </Directory> 
     </Directory> 
     </Directory> 
      <Directory Id="ProgramMenuFolder"> 
       <Directory Id="ApplicationProgramsFolder" Name="Eurotherm Reviewer" /> 
      </Directory> 
      <Directory Id="DesktopFolder" Name="Desktop" /> 
    </Directory> 
</Fragment> 

    <Fragment> 
    <DirectoryRef Id="ApplicationProgramsFolder"> 
     <Component Id="ApplicationShortcut" Guid="*" Win64="yes"> 
     <Shortcut Id="ApplicationStartMenuShortcut" 
        Name="Reviewer Services" 
        Target="[INSTALLFOLDER]shortcut_s.url" 
        WorkingDirectory="APPLICATIONROOTDIRECTORY" 
        Icon="shortcut_s.url" /> 
     <RemoveFolder Id="CleanUpShortCut" Directory="ApplicationProgramsFolder" On="uninstall" /> 
     <RegistryValue Root="HKCU" Key="Software\Microsoft\Reviewer" Name="installed" Type="integer" Value="1" 
         KeyPath="yes" /> 
     </Component> 
    </DirectoryRef> 
    <DirectoryRef Id="DesktopFolder"> 
     <Component Id="ApplicationShortcutDesktop" Guid="*" Win64="yes"> 
     <Shortcut Id="DesktopShortcut" 
        Name="Services Reviewer" 
        Target="[INSTALLFOLDER]shortcut_s.url" 
        WorkingDirectory="APPLICATIONROOTDIRECTORY" 
        Icon="shortcut_s.url" /> 
     <RemoveFolder Id="RemoveDesktopShortCut" Directory="DesktopFolder" On="uninstall" /> 
     <RegistryValue Root="HKCU" Key="Software\Microsoft\Reviewer" Name="installed" Type="integer" Value="1" 
         KeyPath="yes" /> 
     </Component> 
    </DirectoryRef> 
    </Fragment> 






<Fragment> 
    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> 

      <Component Id="WebShortcut" Guid="" Win64="yes"> 
       <File Id="web_shortcut_id" Name="shortcut_s.url" Source="shortcut_s.url"/> 
      </Component>  

     <Component Id="removeAll" Guid="*" Win64="yes"> 
     <CreateFolder /> 
     <util:RemoveFolderEx Id="RemoveAdministrationServicesFolder" On="uninstall" Property="INSTALLFOLDER" /> 
    </Component> 
      <Component Id="ReviewerServices.web.exe" Guid="*" Win64="yes"> 
      <File Id="ReviewerServices.web.exe" KeyPath="yes" Source="$(var.publishDir)\ReviewerServices.web.exe" /> 
        <ServiceInstall Id="AdministrationServiceInstaller" 
              Type="ownProcess" 
              Vital="yes" 
              Name="ReviewerServices.web" 
              DisplayName="Reviewer Administration Service" 
              Description="ReviewerAdministrationService" 
              Start="auto" 
              Account="LocalSystem" 
              ErrorControl="ignore" 
              Interactive="no" /> 
        <ServiceControl Id="AdministrationStartService" 
              Start="install" 
              Stop="both" 
              Remove="uninstall" 
              Name="ReviewerServices.web" 
              Wait="yes" /> 
      </Component> 
    </ComponentGroup> 
</Fragment> 
</Wix> 

Antwort

2

Anstatt den DirectoryRef-Tag mit dem Ziel, um anzuzeigen, können Sie es angeben im Directory-Wert des Shortcut-Tags, wie unten gezeigt. Beachten Sie, dass ich das umgebende DirectoryRef-Tag entfernt habe.

Der RemoveFolder, den Sie verwendeten, würde angeben, dass der Desktopordner bei der Deinstallation entfernt werden sollte, was nicht möglich ist.

Verwandte Themen