【问题标题】:NSIS config fileNSIS 配置文件
【发布时间】:2013-06-21 14:39:12
【问题描述】:

我最近在 C# .NET 中开发了一个应用程序,现在我必须创建相应的设置。我需要在设置阶段实现特定的逻辑,因此我选择使用 NSIS。特别是我需要在我的应用程序的 .config 文件中写入一些信息。我尝试使用基于 nsisXML.dll 的宏,我在这里找到:http://nsis.sourceforge.net/Talk:NsisXML_plug-in_%28by_Wizou%29[^],但它不起作用!

编译器没有给出任何错误,但是当我启动安装程序时,我收到一条 Windows 消息:“Setup.exe 已停止工作 - Windows 正在检查问题的解决方案...”

所以不知道是什么原因导致的错误!!

如果有人有不同的解决方案来使用 NSIS 写入 .config 文件,我会很高兴阅读它。谢谢!!

【问题讨论】:

  • 您在使用带有非 Unicode 插件的 Unicode NSIS 吗?

标签: installation config nsis


【解决方案1】:

最终我决定编写 C# 代码来管理配置文件。 所以我在 C# 中编写了一个 .dll,然后在我的 NSIS 脚本中使用它作为 ReserveFile,使用允许调用的 CLR NSIS (http://nsis.sourceforge.net/Call_.NET_DLL_methods_plug-in[^]) 插件托管 .NET DLL 中的方法。 于是我在 NSIS 脚本中写了一个函数,后面的代码如下: 折叠 |复制代码

Function WriteConfig
InitPluginsDir
  SetOutPath "${NSISDIR}\Plugins\"
  File "${NSISDIR}\Plugins\MyNETdll.dll"
CLR::Call /NOUNLOAD "MyNETdll.dll" "Namespace.Class" "Method-To-Write_in-Config" 3 "Config path" "Key" "Value"
CLR::Destroy
FunctionEnd

其中“3”是方法接受的参数个数,后面的字符串是参数本身。

这样,任何用 C# 编写的方法都可以从 NSIS 脚本中调用!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多