自解压Zip文件可以读取注册表项吗?

时间:2011-04-26 17:51:01

标签: zip registry inf sfx

我正在尝试让我的网站与朋友的节目交谈。想想ITunes - 一个主程序,其中安装了数十万件小东西。我们不希望为成千上万的小东西中的每一个创建InstallShield安装程序。

我们将文件分组到文件夹子结构中。 我们有一个.REG文件,用于显示需要添加的注册表项以查看新文件夹组。

但有没有办法做一个自解压zip文件读取注册表项,所以我们知道他们安装原始程序的位置,以便能够在那里转储新文件?我希望他们双击EXE并单击Finish,以便一切正常。

(我一直在通过IExpress.exe查看INF和CAB文件,但是没有找到答案。我记得Web for Package没有选项来读取注册表项,但确实允许你修改建议的安装路径。)

非常感谢。

祝福, 安德烈

2 个答案:

答案 0 :(得分:0)

您是否尝试过 Inno Setup 工具链?它比一个裸露的自解压ZIP文件好一点,它是一个设置创建工具。我确信它有一些东西可以在注册表中添加一些条目,也可以查看插件。

基本上,一个改进注册表的自解压可执行文件,它是一个安装程序。那你为什么不去找一个合适的呢?

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

答案 1 :(得分:0)

  

但有没有办法做一个自解压zip文件读取注册表项,所以我们知道他们安装原始程序的位置,以便能够在那里转储新文件?我希望他们双击EXE并单击Finish并使一切正常工作

嗯,是的,不是。有一些自解压缩程序可以在解压缩所有文件后运行程序。例如,DotNetZip可以生成可以执行此操作的SFX。

暂且不说:普通的SFX只是一个zip文件,其中包含一个“stub”可执行文件。存根exe可以做任何它想做的事情,但它最基本的事情是提取zip中的文件。当您使用DotNetZip生成SFX时,它会将其特定的存根嵌入到zip中。该存根知道如何提取文件,并且知道如何在解压缩后调用程序。你也可以制作自己的存根,可以做其他更奇特的事情。

因此,您可以使用SFX达到您的目的。运行时,它会提取,然后调用它的额外程序。该程序可以查看注册表,然后将提取的文件移动或重定位到适当的位置。然后终止。

对于另一种扭曲,SFX可能只有两个文件:程序运行(读取注册表的那个,另一个嵌入式zip。然后当SFX运行时它生成2个文件。然后它调用程序-to-run,它读取注册表,然后解压缩包含的zip并将文件放入所需的位置。

好的,所以你可以这样做。

你应该吗?

也许吧。嗯。这真的安装程序,因此,您应该决定是否要将zip用作安装程序。不要忘记,如果您使用SFX作为安装程序,则无法卸载。