2012-12-06 64 views
2

如何創建一個在Wix中啓動帶有參數的Java應用程序的快捷方式?這是我目前的模式,它編譯但不會在桌面上放置快捷方式。如何使用Wix創建Java應用程序的快捷方式

<DirectoryRef Id="DesktopFolder"> 
    <Component Id="Shortcut" Guid="GUID-HERE"> 
      <Shortcut 
         Id="desktopFoobarApp" 
         Name="Foobar 1.0" 
         Directory='DesktopFolder' 
         WorkingDirectory='INSTALLDIR' 
         Target="java" 
         Arguments="-jar [INSTALLDIR]FoobarApp.jar -v -f [INSTALLDIR]conf.cfg" 
         Icon="icon.ico" /> 
     <RegistryValue Root="HKCU" Key="Software\Microsoft\FoobarApp" Name="installed" Type="integer" Value="0" KeyPath="yes"/>              
    </Component> 
</DirectoryRef> 

回答

0

我認爲你需要把標籤

<Shortcut>標籤之間<File>

試試這個:

</File Id="id" Name="file name" Source="file source path"> 
    <Shortcut Id="desktopFoobarApp" Name="Foobar 1.0" Directory='DesktopFolder' 
       WorkingDirectory='INSTALLDIR' Target="java" 
       Arguments="-jar [INSTALLDIR]FoobarApp.jar -v -f [INSTALLDIR]conf.cfg" 
       Icon="icon.ico" /> 
</File> 
+0

當下一個File元素時,不能使用Target屬性。 錯誤CNDL0062: 當Shortcut元素嵌套在File元素下時,無法指定Shortcut/@ Target屬性。 –

+0

快捷方式/ @目標屬性被格式化。因爲它已經在''中定義了'source',只是刪除'target'屬性 – bhuang3

+0

但是該文件需要由java啓動。來源是一個罐子。如果刪除快捷方式,如何通過java二進制文件啓動文件? –

2

我發現,你需要將整個路徑添加到目標。以下代碼的工作原理如下:

<DirectoryRef Id="DesktopFolder"> 
    <Component Id="Shortcut" Guid="GUID-HERE"> 
      <Shortcut 
         Id="desktopFoobarApp" 
         Name="Foobar 1.0" 
         Directory='DesktopFolder' 
         WorkingDirectory='INSTALLDIR' 
         Target="[System64Folder]javaw.exe" 
         Arguments='-jar "[INSTALLDIR]FoobarApp.jar" -v -f "[INSTALLDIR]conf.cfg"' 
         Icon="icon.ico" /> 
     <RegistryValue Root="HKCU" Key="Software\Microsoft\FoobarApp" Name="installed" Type="integer" Value="0" KeyPath="yes"/>              
    </Component> 
</DirectoryRef> 
相關問題