2011-04-26 44 views
0

我試圖讓我的網站與朋友的程序交談。想想iTunes吧 - 一個主要的程序,包含成千上萬的小東西。我們不希望爲這些成千上萬的小東西中的每一個都創建InstallShield安裝程序。自解壓Zip文件是否可以讀取註冊表項?

我們將文件分組到文件夾子結構中。 我們有一個.REG文件,用於需要添加註冊表項以查看新文件夾組。

但是有沒有辦法做一個自解壓zip文件來讀取一個註冊表項,這樣我們知道他們在哪裏安裝了原始程序,以便能夠在那裏轉儲新文件?我希望他們雙擊EXE,然後單擊完成,然後單擊以完成所有工作。 (我一直在通過IExpress.exe查看INF和CAB文件,但還沒有找到答案。我記得Web上的軟件包沒有讀取註冊表項的選項,但確實讓你修改建議的安裝路徑。)

非常感謝。

最良好的祝願, 安德烈

回答

0

但是,有沒有辦法做一個自解壓壓縮文件,讀取註冊表項,所以我們知道他們安裝了原始程序,以便能夠有傾倒的新文件以及?我希望他們雙擊EXE,然後單擊Finish並讓所有內容都可以工作

嗯,是,不是。有自解壓縮程序可以在解壓所有文件後運行程序。例如,DotNetZip可以生成可以執行此操作的SFX。

撇開:一個正常的SFX只是一個zip文件,與一個「存根」可執行文件合併在一起。存根EXE可以做任何事情,但它最基本的功能是提取zip文件。當您使用DotNetZip生成SFX時,它會將其特定存根嵌入到zip中。該存根知道如何提取文件,並且知道如何在提取後調用程序。你也可以製作你自己的存根,可以做其他更奇特的事情。

所以你可能使用SFX爲您的目的。運行時,它會提取,然後調用它的額外程序。程序可以在註冊表中查找,然後將提取的文件移動或重定位到適當的位置。然後終止。

對於不同的轉折,SFX可能只有兩個文件:程序運行(讀取註冊表的程序和另一個嵌入的zip文件,然後當SFX運行時生成2個文件,然後調用程序即運行,它讀取註冊表,然後解壓縮包含的zip並將文件放入所需的位置。

好吧,讓你可以做到這一點。

你應該嗎?

mmm,也許。這真的是的一個安裝程序,所以,你應該決定是否要使用zip作爲安裝程序。不要忘記,如果您使用SFX作爲安裝程序,則沒有好方法可以卸載。

0

你試過Inno Setup的工具鏈?它比裸露的Self-Extracting ZIP文件好一點,它是一個安裝程序創建工具。我確信它有一些東西可以在註冊表中加入一些內容,也可以看看插件。

基本上,一個改變註冊表的自解壓縮可執行文件,它是一個安裝程序。那麼你爲什麼不去適當的呢?

網站:http://www.jrsoftware.org/isinfo.php