首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Inno设置修改machine.config?

如何使用Inno设置修改machine.config?
EN

Stack Overflow用户
提问于 2011-10-08 08:14:53
回答 1查看 1.3K关注 0票数 4

如何使用Inno设置修改machine.config?

我看了文档,在谷歌上搜索,没有找到任何东西,所以这让我觉得我问错了问题,或者遗漏了一些明显的东西。

我猜,如果它不明显,那么它需要编写一个小脚本来完成它。如果是这样的话,谁有好的例子?

machine.config是一个xml格式的文件,用于保存.net应用程序的机器级别配置设置。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-14 08:55:09

自从我上次使用Inno Setup以来已经有一段时间了,但我认为你有两种可能性。最好、也是最简单的方法是编写一个小的.exe应用程序,安装程序将在安装和卸载完成后运行该应用程序:

代码语言:javascript
复制
[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进行一些简单的修改,如下所示:

代码语言:javascript
复制
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的经验,恢复起来会很有趣)。我已经尝试过了,但是我建议你不要这样做,因为它相当有限,但对其他(不太复杂)的事情可能是好的。

希望这能有所帮助!

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7693971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档