繁体   English   中英

Windows安装程序(MSI)不会复制配置文件

[英]Windows installer (MSI) does not copy a config file

我在Visual Studio 2017上安装了MSI buillder工具,并开始使用生成的MSI部署桌面应用程序。 istaller能够复制重要文件并添加注册密钥,但不能复制记录器所需的一些其他配置文件。 根据此页面 ,应将“复制到输出目录属性”切换为“始终复制”,以解决该问题,但是,它仍未将配置文件复制到客户端计算机的输出目录中。

该文件未复制到客户端计算机中的输出文件

有人可以建议我如何诊断此问题吗?

编辑:

我想我可以使用以下方法将日志文件显式添加到MSI中,但是对此我有两个担忧。 我要使用全局或相对路径将文件添加到MSI吗? 其次,这将是一个好习惯吗?

在此处输入图片说明

编辑2:

对于具有相同问题的开发人员,请参考上述方法,以上述方法添加具有相对路径的文件。 我在源代码管理中添加了差异页面的屏幕截图。

在此处输入图片说明

将单个文件添加到VS安装项目中是完全正常的。 每个生成MSI的工具都以这种方式工作。 VS安装程序可能是例外,其输入选择为“项目输出”类型,您几乎不了解将要安装的实际文件。 因此,通过单独添加每个文件(包括该配置文件),您可以最好地控制MSI内容。 另外,某些文件确实不属于“应用程序文件夹”(默认为“程序文件”),因为它们是属于用户应用程序数据之类的数据文件。

MSI构建从中获取文件的路径与该文件在目标系统上的部署位置无关。 通过使用目标计算机上的“文件系统”视图,您可以告诉MSI构建将在目标系统上部署文件的位置,在该视图中,您可以找到要添加文件的目标文件夹的列表。

同样,复制到输出目录的东西与MSI文件的构建无关。 据我所知,其主要原因是允许您在代码的输出构建位置具有所有依赖关系,以便程序可以从该位置正确运行,并且恰巧使您有机会使所有文件运行放在同一位置的设置中 这并不意味着“将文件复制到MSI构建中并自动部署到目标系统上的方式”。

一旦MSI工作并安装配置文件,您可能会遇到Windows Installer文件覆盖规则,该规则将阻止您覆盖安装后已更新的文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM