如何使用 Inno 设置修改 machine.config?
我查看了文档并搜索了谷歌并找不到任何东西,所以这让我觉得我问错了问题或遗漏了一些明显的东西。
我猜如果它不明显,那么它需要编写一个小脚本来做到这一点。如果是这样,有没有人有一个很好的例子?
编辑:machine.config 是一个 xml 格式的文件,用于保存 .net 应用程序的机器级配置设置。
如何使用 Inno 设置修改 machine.config?
我查看了文档并搜索了谷歌并找不到任何东西,所以这让我觉得我问错了问题或遗漏了一些明显的东西。
我猜如果它不明显,那么它需要编写一个小脚本来做到这一点。如果是这样,有没有人有一个很好的例子?
编辑:machine.config 是一个 xml 格式的文件,用于保存 .net 应用程序的机器级配置设置。
自从我上次使用 Inno Setup 以来已经有一段时间了,但我认为您有两种可能性。最好和最简单的方法是编写一个小型 .exe 应用程序,安装程序将在安装和卸载完成后运行该应用程序:
[Files]
Source: "mconfig.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall;
[Run]
Filename: "{tmp}\mconfig.exe"; Parameters: "/inst"; Flags: waituntilterminated runhidden
[UninstallRun]
Filename: "{tmp}\mconfig.exe"; Parameters: "/uninst"; Flags: waituntilterminated runhidden
现在,我不知道您需要做什么语言/或什么修改,但是一个简单的 c# 控制台应用程序对 machine.config 进行一些简单的修改可能如下所示:
using System;
using System.Configuration; // Note: Also add a reference to "System.Configuration.dll"
public class Program {
static void Main(string[] args) {
Configuration config = ConfigurationManager.OpenMachineConfiguration();
if (args.Length > 0) {
if (args[0] == "/inst") {
config.AppSettings.Settings.Add("Test", "Value");
} else if (args[0] == "/uninst") {
config.AppSettings.Settings.Remove("Test");
}
config.Save();
}
}
}
现在,另一种方法是将其编写为一个函数,使用 Inno Setup 内置的“Pascal 脚本”语言(如果您以前有 Turbo/Borland Pascal 或 Delphi 的经验,可能会很有趣)。在我自己尝试过之后,我建议不要这样做,因为它非常有限,但可能对其他(不太复杂)的事情有好处。
希望这可以帮助!