如何使用Inno Setup修改machine.config文件?

4

如何使用Inno Setup修改machine.config?

我查看了文档并搜索了谷歌,但没有找到相关信息,这让我觉得我可能问错了问题或者漏掉了一些显而易见的东西。

我猜想如果不是很明显的话,就需要编写一个小脚本来完成。如果是这种情况,有人有好的示例吗?

编辑:machine.config是一个XML格式的文件,用于保存.NET应用程序的机器级配置设置。


2
Inno可以编辑任何它可以写入的文件。这取决于它的格式。您能否提供更多信息和要编辑的示例。 - Deanna
1个回答

6

我已经有一段时间没有使用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#控制台应用程序可以像这样对机器配置文件进行一些简单的修改:

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的经验,那可能会很有趣)。我自己尝试过,但不建议这样做,因为它相当有限,但对于其他(不那么复杂)的事情可能会很好用。希望这能有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接