2014-01-10 79 views
2

我明白這個問題之前已經被問過,但是在那裏和IzPack文檔中提供的「解決方案」實際上並沒有工作。此外,我沒有在這個網站上發表評論或任何其他問題或解決方案的聲譽,所以我不得不再次提出這個問題。我有一個可以添加快捷方式的工作安裝程序,並且我已經遵循了很多示例來查找我的錯誤無濟於事。伊茲帕克是一個記錄不完善,獸性極強的野獸。我如何獲得IzPack將我的程序添加到Windows註冊表?

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

我在學習獲取快捷方式面板時必須手動將Shelllink Dll添加到%JAVA_HOME%\bin目錄中。由於這不是在文檔中明確說明,並且這些文件不包含在IzPack安裝中,所以我認爲它不是必需的,但那是我終於使用它的唯一方法。我將COIOSHelper Dll添加到相同的位置,但沒有任何改變。我懷疑它與實際將Dll包含到最終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="[email protected]"/> 
    </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> 

回答

0

你從哪裏得到的COIOSHelper的DLL?這些似乎並未包含在我的IzPack安裝中。我不必爲ShellLink DLL做任何事情,他們只是在那裏工作。另外值得注意的是,我發現ShellLink DLL的「native」條目不能位於「natives」標籤內。如果我把它們放在那裏,安裝程序會中斷。他們必須在「安裝」標籤下正確。

+1

不幸的是,花時間來弄清楚這一點使我們決定朝不同的方向前進。我不積極,但我相信我從codehaus網站獲得了他們。 – Bebop

+1

IzPack 5.0+現在包含這些DLL – Pickle

相關問題