【发布时间】:2023-03-11 21:30:01
【问题描述】:
有一个安装程序允许用户从磁盘中选择一个 zip 文件,我们想将该文件解压缩到安装目标目录中。
这可以通过标准 wix 工具集/扩展实现吗?我们是否需要创建自定义操作?
目前,我们正在做这样的事情CreateObject("Shell.Application"),然后像这样使用它objShell.NameSpace(installDir).CopyHere(objShell.NameSpace(configPath).items), 20
但我觉得这不是一个好方法,而且 Windows UAC 也有问题。
编辑:动机是拥有一个 msi 安装程序和几个自定义 zip。当客户安装应用程序时,他会获得 msi 和其中一个 zip,并在安装时选择 zip(或在自动安装中作为参数发送)。
【问题讨论】:
-
在安装过程中解压 zip 似乎不是一个好主意。
-
@BrianSutherland 你是对的,问题是我们有一个安装程序,将为每个客户安装额外的东西。附加内容在 zip 文件中。我同意这不是很好的方法,但现在就是这样。
-
@FrantišekŽiačik 您的评论让我觉得您正在尝试为(可能)每个客户部署自定义工件。我已经写了一个解决这种情况的答案。如果确实如此,您能否更新您的原始问题以阐明解压缩文件的意图(即,是否允许您(安装程序作者)自定义每个客户端的安装,或者是否允许客户端、安装程序消费者,通过选择要部署的任意 zip 文件来自定义他们的安装)。
-
刚刚添加了一个答案,其中包含一些有关预处理器构造的信息 - 检查这是否是您真正需要以灵活的方式实施设置。
-
@pixelTitan 添加了有关意图的信息
标签: .net wix windows-installer