我會解釋我想要的,然後我會解釋我如何實現它。我想知道我是否正確地對待這種方式,或者是否有更簡單的方法。Make Custom Self-Extractor
我想要的是什麼:一個自解壓縮的可執行文件還有一個額外的入口點(這使得可執行文件適合可用,就像它是DLL一樣)。附加入口點必須是而不是是壓縮有效載荷的部分。奇怪的是,切入點不會執行任何LZMA功能(請不要問爲什麼......長故事)。僅供參考:使用DLL入口點製作可執行文件是一件微不足道的事情 - 我已經知道如何做到這一點。
我是如何追求這個的:我已經下載了LZMA SDK,並將構建自己的C++自解壓器。似乎沒有LZMA API文檔。不過,如果我想學習如何使用LZMA,我必須閱讀。\ C \ util \ 7z \ 7zmain.c或。\ cpp \ 7zip \ bundles \ lzmaCon \ lzmaAlone.cpp。我不知道學習這些是否是最快的學習工具。
一旦我創建了自解壓代碼,那麼我將添加我需要和構建的DLL入口點。生成的EXE自解壓器將與zip文件連接(DOS命令應該足以連接兩個文件)。這應該達到我的目標。
想法?
p.s.順便說一句,我在今年已經部分完成了。我製作了一個自解壓程序(用C#編寫)可執行文件,然後將其與zip文件(通過DOS命令)連接起來。 Voila,一個自解壓zip可執行文件出現了。什麼讓我目前的努力不同的是,現在我正在使用C++,並且我需要這個額外的/任意的DLL入口點。
我的最終結果必須是單個可執行文件,而不是可執行文件加上DLL。 – 2011-02-17 21:56:13