0

我正在尝试创建一个桌面快捷方式来启动我们的 .jar 文件。下面的当前 WIX 构建文件给出了错误:

 [exec] installMsgs.wxs
 [exec] C:\Users\ME\GIT_REPOS\APP\installer\installApp.wxs(43) :
          error CNDL0035 : The Shortcut/@Target attribute cannot be specified when attribute Advertise is present with value 'yes'.
 [exec] C:\Users\ME\GIT_REPOS\APP\installer\installApp.wxs(43) :
          error CNDL0062 : The Shortcut/@Target attribute cannot be specified

当 Shortcut 元素嵌套在 File 元素下时。

但据此: http: //goo.gl/yoSTz它应该可以工作。我尝试在文件元素之外创建一个快捷方式作为 javaw.exe 文件的自己的组件,但这也不起作用。谢谢你的帮助。

这是我的构建文件中的部分:

<Directory Id='D_MyApp' Name='MyApp'>
                        <Component Id='c_myApp' Guid='4f909d90-e31c-44ce-a0af-7042f226611b'>
                            <File Id='myApp' Name='MyApp.jar'
                                Source='..\MyApp\target\Myapp.jar' KeyPath='yes'>
                                <Shortcut Id="s_myApp" Directory="DesktopFolder"
                                    Target="[INSTALLDIR]\jre6\bin\java.exe" 
                                    Arguments="-jar MyApp.jar"
                                    Name="My App" 
                                    WorkingDirectory='INSTALLDIR' 
                                    Icon="MyApp.exe"
                                    Advertise="yes" />
                            </File>
                        </Component>
                    </Directory>
                    <Directory Id='D_jre' Name='jre6'>
                        <Directory Id='D_lib' Name='lib'>
                            <Directory Id='D_ext' Name='ext'>
                                <Component Id='c_SerialIOjars' Guid='a4bc45fe-b62f-478e-ab57-ca5e3e16b42d'>
                                    <File Id='f_jspComm.jar' Name='jspComm.jar'
                                        Source='..\RadioServer\lib\SerialIO\jspComm.jar' KeyPath='no'>
                                    </File>
                                    <File Id='f_Serialio.jar' Name='Serialio.jar'
                                        Source='..\RadioServer\lib\SerialIO\Serialio.jar' KeyPath='no'>
                                    </File>
                                </Component>
                            </Directory>
                        </Directory>
                    </Directory>
4

2 回答 2

0

我目前刚刚创建了一个 .bat 文件,它通过定位我们包含的 JRE javaw.exe 文件来启动 jar,并在桌面上有一个 .bat 文件的快捷方式。获得所需结果的最简单方法。

于 2012-06-07T18:47:36.587 回答
0

您会收到错误,因为当Shortcut元素嵌套在里面时File,它Target被假定为文件本身。

这不是您想要的,因此Shortcut元素应该与另一个组件并排MyApp.jar或在另一个组件中。MyApp.jar另外,当您将其作为参数传递给 JRE 时,您真的很想使用完整路径。

于 2012-06-08T06:36:03.010 回答