我已经为我们的应用程序安装了一个安装程序。但它是exe文件。它是多年前创建的。课程的应用程序已更新。我们使用bat文件注册新的dll文件并安装我们的服务(windows)。但我们希望通过安装程序而不是bat文件来完成所有这些操作。我们选择了wix技术。我读了<Patch>
节点,但要使用它,我需要一个以前版本的msi ..我想做一个简单的安装程序,它将停止服务,复制并在已安装的应用程序目录中注册dll,安装服务。但我不知道它会没有任何问题覆盖文件吗?
答案 0 :(得分:2)
您只能为MSI(安装程序)创建MSP(修补程序)。此外,如果将组件安装到与原始安装相同的目录中,则会遇到组件引用计数问题。问题是MSI会看到文件已经存在,将其作为共享资源并增加使用计数器。然后在卸载时它将减少,看到它不是0并删除以卸载文件。
我建议安装到新目录,然后使用RemoveFile表删除旧文件。此外,我建议遵循良好的CM /版本控制实践,这样您就不必担心版本说谎等黑客攻击。
如果您的所有应用程序只需要xcopy文件,设置目录甚至可能是ShortCut,那么它应该是小菜一碟。
答案 1 :(得分:0)
如果文件编号的版本较低,则会自动覆盖可执行文件等已编译文件。