使用 InstallScript C# .Net 向导连接到 WinForms 解决方案,在该解决方案中我使用依赖项扫描程序来识别项目输出。
安装包将未合并的 app.config 文件复制到目标目录,而不是将解决方案合并的 MyApp.exe.config 文件。这会导致可执行文件无法正确获取配置文件设置,这不仅是因为文件命名不正确,而且还没有合并到目标环境设置(即发布、调试等)中。
您如何让安装程序将合并的 MyApp.exe.config 文件复制到安装目录?
使用 InstallScript C# .Net 向导连接到 WinForms 解决方案,在该解决方案中我使用依赖项扫描程序来识别项目输出。
安装包将未合并的 app.config 文件复制到目标目录,而不是将解决方案合并的 MyApp.exe.config 文件。这会导致可执行文件无法正确获取配置文件设置,这不仅是因为文件命名不正确,而且还没有合并到目标环境设置(即发布、调试等)中。
您如何让安装程序将合并的 MyApp.exe.config 文件复制到安装目录?
试试这个,我相信这应该有效。
选择配置文件,然后在 File.Properties 下的 Copy to Output Directory 中,选择 Copy always 或 Copy if newer。您可以使用此方法选择您喜欢的任何文件。基本上,这个文件将被放置到构建二进制文件的目录中。我认为这仍然是比从 InstallShield 配置/修复更好的方法。如果您不同意,我想听听您的意见。
另一件事是,配置文件在运行时由代码使用和确定。这可能是 InstallShield 不知道文件依赖关系的原因。它超出了该工具的范围。
玩得开心,让我知道会发生什么。
汤米奎
我正在使用SlowCheetah进行 app.config 转换,这就是我们为使 installshield 正常工作所做的工作。对于后期构建步骤,将 installshield 所需的所有文件复制到单独的安装文件夹(即复制“$(ProjectDir)$(OutDir) . ”“$(ProjectDir)bin\Install”)。将 installshield 指向该文件夹以构建它的输出
我也在使用 SlowCheetah 进行配置转换,但这个问题的真正答案是 InstallShield 项目关注所选的解决方案配置。如果您在构建 InstallShield 项目之前选择 Release 配置,则 Release 输出将用于安装包中。