簡體   English   中英

如何獲得IzPack將程序添加到Windows注冊表?

[英]How do I get IzPack to add my program to the Windows Registry?

我知道以前曾問過這個問題,但是那里提供的“解決方案”以及IzPack文檔中的“解決方案”實際上並不起作用。 此外,我沒有這個網站上的聲譽,也沒有評論或其他問題或解決方案的任何東西,因此我不得不再次詢問。 我有一個可以正常運行的安裝程序,可以添加快捷方式,並且按照以下示例操作,以查找錯誤無濟於事。 IzPack是一個文獻記載不充分,非常蠕動的野獸。

一切正常,程序放置在正確的目錄和開始菜單組中,我可以運行它。 此時唯一沒有發生的部分是注冊表編輯。

當確實使快捷面板工作時,我確實了解到必須將Shelllink Dlls手動添加到%JAVA_HOME%\\bin目錄中。 由於在文檔中沒有明確說明,並且IzPack安裝中不包含這些文件,因此我認為不需要它,但這是我最終使它起作用的唯一方法。 我將COIOSHelper Dlls添加到了相同的位置,但是沒有任何改變。 我懷疑這與將Dlls包含在最終的jar安裝程序中有關,但是沒有有關如何確保正確發生的文檔。

install.xml

<installation version="1.0">

  <info>
    <appname>MyApp</appname>
    <appversion>1.0.0</appversion>
    <appsubpath>MyApp</appsubpath>
    <javaversion>1.7</javaversion>
  <authors>
    <author name="ME" email="support@me.com"/>
  </authors>
  <url>http://www.me.com</url>
  <run-privileged/>
  </info>

  <guiprefs resizable="no" width="480" height="360">
    <laf name="looks">
      <param name="variant" value="windows" />
      <os family="windows" />
    </laf>
  </guiprefs>

  <locale>
    <langpack iso3="eng" />
  </locale>

  <resources>
    <res id="shortcutSpec.xml" src="shortcutSpec.xml"/>
    <res src="MyApp.ico" id="MyApp.ico"/>  
    <res src="MyLicense.txt" id="LicencePanel.licence"/>  

  </resources>

  <natives>
    <native type="izpack" name="ShellLink.dll"/>
    <native type="izpack" name="ShellLink_x64.dll"/>
    <native type="3rdparty" name="COIOSHelper.dll" stage="both">
      <os family="windows"/>
    </native>
    <native type="3rdparty" name="COIOSHelper_x64.dll" stage="both">
      <os family="windows"/>
    </native>
  </natives>

  <listeners>
    <listener classname="RegistryInstallerListener" stage="install"/>
    <listener classname="RegistryUninstallerListener" stage="uninstall"/>
  </listeners>

  <panels>
    <panel classname="CheckedHelloPanel" />
    <panel classname="LicencePanel" />
    <panel classname="TargetPanel" />
    <panel classname="InstallPanel" />
    <panel classname="ShortcutPanel" id="shortcutpanel" />
    <panel classname="SimpleFinishPanel" />
  </panels>

  <packs>
    <pack name="Core" required="yes" preselected="yes">
      <description>The core files needed for correct operation of the MyApp Application</description>
      <file src="myapp-1.0.0.jar" targetdir="$INSTALL_PATH"/>
      <file src="MyApp.ico" targetdir="$INSTALL_PATH\images"/>
    </pack>
  </packs>


</installation>

您從哪里獲得COIOSHelper DLL? 這些似乎未包含在我的IzPack安裝中。 我不需要為ShellLink DLL做任何事情,它們就在那里工作。 還要注意的是,我發現ShellLink DLL的“本機”條目不能位於“本機”標記內。 如果我把它們放在那里,安裝程序就會中斷。 它們必須在“安裝”標簽下。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM