2015-09-04 75 views
0

我要寄送文件到我們的目標文件夾,創建快捷方式到桌面folder.my威克斯編碼 輸入代碼here`如何在我們的桌面文件夾中發送文件以及如何創建桌面文件夾的快捷方式?

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Product Id="5A157ECF-D387-43EF-855E-C39E9F26B463" Name="DesktopPermission" Language="1033" Version="1.0.0.0" Manufacturer="Naveen" UpgradeCode="5A157ECF-D387-43EF-855E-C39E9F26B463"> 
     <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" /> 

     <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> 
     <MediaTemplate /> 

     <Feature Id="ProductFeature" Title="DesktopPermission" Level="1"> 
     <ComponentRef Id="compid"/> 
     </Feature> 


    <DirectoryRef Id="APP_DIR"> 
     <Component Id="compid" Guid="F2450B59-EA82-4762-8AEF-984D54F6EAA9"> 
     <File Id="BuildFile" KeyPath="yes" Source="C:\Users\naveen.raja\Desktop\Text.txt"/> 
     </Component> 
    </DirectoryRef> 


    <CustomAction Id="sample" Directory="APP_DIR" Value="C:\Users\naveen.raja\Desktop\Installone" Execute="immediate" /> 

    <Directory Id="TARGETDIR" Name="SourceDir"> 
     <Directory Id="APP_DIR" Name="myfile"> 
     </Directory> 
     </Directory> 

    <Directory Id="TARGETDIR" Name="SourceDir"> 
     <Directory Id="DesktopFolder" Name="Desktop"> 
     <Component Id="ApplicationShortcutDesktop" Guid="258B1044-131B-49F7-90CB-CC92C8658191"> 
      <Shortcut Id="ApplicationDesktopShortcut" 
       Name="Text under your icon" 
       Description="Comment field in your shortcut" 
       Target="[APP_DIR]" 
       WorkingDirectory="APP_DIR"/> 
      <RemoveFolder Id="DesktopFolder" On="uninstall"/> 
      <RegistryValue 
       Root="HKCU" 
       Key="Software/MyAppName" 
       Name="installed" 
       Type="integer" 
       Value="1" 
       KeyPath="yes"/> 
     </Component> 
     </Directory> 
    </Directory> 

    </Product> 


    <Fragment> 
    <InstallExecuteSequence> 
     <Custom Action="sample" Sequence="600" /> 
    </InstallExecuteSequence> 
    </Fragment> 



</Wix> 

但不發貨,也不會創建快捷方式的文件。所以請在這個編碼中幫助改變所有事情。提前致謝。

回答

1

通常情況下,如果您提供了詳細的安裝日誌,可以更容易地查看到底發生了什麼問題。沒有那個日誌,我只能使用你的代碼。

您提供的代碼並未爲我編譯(我正在使用v3.9),並且表單中還存在其他錯誤,可能會阻止您的安裝程序按預期運行。我發現的錯誤有以下類型:

1:您的自定義操作來設置APP_DIR的位置並未包含在內,因爲它的調度片段從未被引用。這將導致文件被安裝到C:\ myfile \ Text.txt中(替換C:具有計算機上最大可用空間量的驅動器),而不是按照您的預期在桌面下。 (可能您的文件在那裏?)

2:代碼失敗ICE21,因爲ApplicationShortcutDesktop未包含在任何功能中(可能的原因是您的快捷方式未出現)。

3:代碼無法編譯,因爲重複。

4:代碼失敗ICE 12因爲您的自定義操作「sample」的類型爲:35.因此它必須在Seq Table中的CostFinalize @ 1000之後出現:InstallExecuteSequence。

備註:通常ProductCode(Product \ @Id)和UpgradeCode(Product \ @Upgrade)不是相同的值。您可能希望在Windows Installer/MSI中瞭解有關這兩個值的更多信息。 wix toolset's wix-users list上有很多這方面的專家。事實上,通過搜索列表檔案和/或通過提問可以找到很多幫助。

修復了這四個錯誤,文件的文件夾和文件夾的快捷方式都顯示在指定的桌面上,並且找到該文件添加到該文件夾​​。

這裏是我的代碼的版本(最小的變化)看起來像:

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Product Id="5A157ECF-D387-43EF-855E-C39E9F26B463" Name="DesktopPermission" Language="1033" Version="1.0.0.0" Manufacturer="Naveen" UpgradeCode="5A157ECF-D387-43EF-855E-C39E9F26B463"> 
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" /> 

    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> 
    <MediaTemplate /> 

    <Feature Id="ProductFeature" Title="DesktopPermission" Level="1"> 
     <ComponentRef Id="compid"/> 
     <ComponentRef Id="ApplicationShortcutDesktop"/> 
    </Feature> 


    <DirectoryRef Id="APP_DIR"> 
     <Component Id="compid" Guid="F2450B59-EA82-4762-8AEF-984D54F6EAA9"> 
     <File Id="BuildFile" KeyPath="yes" Source="C:\Users\naveen.raja\Desktop\Text.txt"/> 
     </Component> 
    </DirectoryRef> 


    <CustomAction Id="sample" Directory="APP_DIR" Value="C:\Users\naveen.raja\Desktop\Installone" Execute="immediate" /> 
    <InstallExecuteSequence> 
     <Custom Action="sample" After="CostFinalize" /> 
    </InstallExecuteSequence> 

    <Directory Id="TARGETDIR" Name="SourceDir"> 
     <Directory Id="APP_DIR" Name="myfile"> 
     </Directory> 
    </Directory> 

    <DirectoryRef Id="TARGETDIR"> 
     <Directory Id="DesktopFolder" Name="Desktop"> 
     <Component Id="ApplicationShortcutDesktop" Guid="258B1044-131B-49F7-90CB-CC92C8658191"> 
      <Shortcut Id="ApplicationDesktopShortcut" 
       Name="Text under your icon" 
       Description="Comment field in your shortcut" 
       Target="[APP_DIR]" 
       WorkingDirectory="APP_DIR"/> 
      <RemoveFolder Id="DesktopFolder" On="uninstall"/> 
      <RegistryValue 
       Root="HKCU" 
       Key="Software/MyAppName" 
       Name="installed" 
       Type="integer" 
       Value="1" 
       KeyPath="yes"/> 
     </Component> 
     </Directory> 
    </DirectoryRef> 

    </Product> 

</Wix> 

希望幫助!

相關問題