我正在尝试让我的网站与朋友的程序交谈。想想ITunes——一个安装了成千上万个小程序的主程序。我们不想为每一个成千上万的小程序创建一个InstallShield安装程序。
我们将文件分组到文件夹子结构中。我们有一个. reg文件,用于需要添加哪些注册表项以查看新文件夹组。
但是有没有一种方法可以做一个自解压缩文件,读取注册表项,这样我们就知道他们在哪里安装了原始程序,以便能够将新文件转储到那里?我想让他们双击EXE并单击Finish,让一切都工作。
(我一直在寻找INF和CAB文件通过IExpress.exe,但还没有找到答案。我记得Web包没有读取注册表项的选项,但允许您修改建议的安装路径。)
谢谢你。
最好的祝愿,安德里亚
但是有没有一种方法可以做一个自解压缩文件,读取注册表项,这样我们就知道他们在哪里安装了原始程序,以便能够将新文件转储到那里?我想让他们双击EXE,然后点击完成,然后让所有的工作
嗯,是也不是。有一些自提取器可以在提取所有文件后运行程序。例如,DotNetZip可以生成一个可以做到这一点的SFX。
只是一个题外话:一个正常的SFX只是一个zip文件,与一个"存根"可执行文件合并。stub exe可以做任何它想做的事情,但它所做的最基本的事情是提取zip中的文件。当您使用DotNetZip生成SFX时,它会将其特定的存根嵌入到zip中。该存根知道如何提取文件,也知道如何在提取后调用程序。您还可以创建自己的存根,它可以做其他更奇特的事情。
所以你可以为你的目的使用一个SFX。当运行时,它将提取,然后调用它的额外程序。程序可以在注册表中查找,然后将提取的文件移动或重新定位到适当的位置。然后终止。
对于不同的扭曲,SFX可能只有两个文件:要运行的程序(读取注册表的程序)和另一个嵌入的zip文件。然后当SFX运行时,它生成2个文件。然后它调用要运行的程序,该程序读取注册表,然后解压缩包含的zip文件并将文件放入所需的位置。
好,所以你可以做。
应该吗?
嗯,也许吧。这个实际上是安装程序,因此,您应该决定是否要使用zip作为安装程序。不要忘记,如果你使用SFX作为安装程序,没有好的方法可以卸载。
您是否尝试过Inno Setup工具链?它比一个简单的自解压ZIP文件要好一点,它是一个设置创建实用程序。我确信它有一些东西可以在注册表中添加一些条目,也看看插件。
基本上,一个自提取的可执行文件,改变注册表,它是一个设置程序。那你为什么不找个合适的呢?
网站: http://www.jrsoftware.org/isinfo.php