RARSFX/ZipSFX-将参数传递到存档文件中



我已经完成了应用程序的开发,现在是时候将其交付给客户了。由于它是一个小于5 MB的5文件应用程序,我决定最简单、最精简的交付方式是将其作为RARSFX/ZipSFX文件,该文件被指示解压缩临时文件夹中的所有内容,然后在我的项目中启动主可执行文件。

到目前为止一切正常,我选择ZipSFX作为默认格式,但问题是我设计了我的主exe来接受参数(即-batch(处理一批文件)和-nolang(不本地化应用程序)。然而,当使用ZipSFX打包时,用户实际上会将参数传递给安装程序,而不是主exe。

是否有将参数"路由"到主应用程序的方法?提前谢谢。

根注释很有趣。。。

如果你真的不想通过解包运行清理场景来安装程序,那么寻找安装程序没有多大用处,我同意。一种方法是研究PortableApps。他们经常用更复杂、更严格的程序来实现这些技巧,而且可能有很好的工具来实现

另一种方法是将所需的文件作为资源存储在主应用程序中,然后解压缩到%TEMP%并在那里使用表单,并在退出时删除。这就是SysInternal工具安装临时驱动程序的方式。最基本的方法应该是使用Microsoft资源编译器。像Delphi这样的一些语言有其用于数据存储的本地组件。

这样做,你可以制作一个小的stub exe,即drop-shot主应用程序,运行它,等待完成和清理(与主程序崩溃相比更可靠),或者让你的主程序自己完成所有这些(但如果崩溃或以不寻常的方式退出,它会留下垃圾)您可以选择使用UPX等工具打包的dropper到eb,但主exe和DLL应该保持未打包状态。

您可以用cache-dir标记临时文件,以提供一个小提示,如果发现它们不正确,您可以自由删除它们。

您看过InnoSetup吗?它是用Delphi编写的,所以可能很容易使用,开销很小。我认为你可以很容易地编写脚本来传递一些参数。


你试过7拉链sfx吗?一些像Opera这样的安装程序是在它之后制作的。

7-zip库存SFX似乎将参数传递到了链的下游。http://sourceforge.net/projects/sevenzip/forums/forum/45798/topic/4788506

7-zip扩展的SFX具有特殊选项,可以将其余参数传递到链的下游。http://7zsfx.info/en/switches.html#breakcmdline

相关内容

  • 没有找到相关文章

最新更新