NSIS安装程序(在OS X上)提供“无效命令:TargetMinimalOS”

时间:2010-09-22 12:32:49

标签: macos nsis

我根据http://nsis.sourceforge.net/Docs/AppendixG.html#G.3提供的说明在OS X计算机上构建了NSIS 2.46。构建工作正常,它正确创建我的安装程序。

我的安装程序完全正常,但我尝试添加命令:

TargetMinimalOS 5.0

这对我的任务来说并不重要;据我了解,所有这一切都让安装程序以Unicode运行,这是不必要的。看起来好像添加一些是明智的,因为我不支持旧的Windows版本。在命令'SetCompressor lzma'之后我把它放好了,它运行正常。然而,makensis报道:

[...]
SetCompressor:lzma
命令无效:TargetMinimalOS

然后中止。

要检查我是否正确,我直接从文档中复制粘贴(无法在上面的同一站点添加超链接 - Docs / Chapter4.html#4.8.2.9),但仍然会出现错误。错误与我编写像'FrogXyzzy'这样的愚蠢命令名称的错误相同。

我将通过不使用命令来解决这个问题!但是,有谁知道它为什么不起作用?这与我构建nsis的方式有关吗? (我不想使用DarwinPorts或Fink,但也许他们会以不同的方式构建它...)或者我是否使用我没有发现的命令名称做了些蠢事?

3 个答案:

答案 0 :(得分:4)

在线文档由SVN生成,并且领先于稳定版本(目前为2.46)

如果你今天需要unicode,你必须使用scratchpaper.com fork或自己编译SVN(fork将被合并回来,下一个正式版将是unicode)

答案 1 :(得分:1)

the section on Unicode installers下,它开始“从MakeNSIS v2.50开始......”。这意味着该功能在2.46中不可用。看起来他们对文档有点不成熟。

据我所知,在2.50之前,有a separate Unicode version of NSIS。无法保证它是否甚至可以在OSX上编译,但它可能值得一试。

答案 2 :(得分:1)

对于Windows,我认为TargetMinimalOS可能会更改安装程序可执行文件的PE格式的主要和次要子系统版本,以便它可以在较旧的操作系统上运行。由于NSIS应该在Windows 95上运行,我所做的其中一件事是尝试在Windows 95中运行我的安装程序。当我这样做时,它给出了一个错误,说安装程序需要升级版本的Windows才能运行。当我将安装程序可执行文件的子系统版本更改为4.0时,我能够在Windows 95上运行它。 <{3}}中有一个名为EditVersion.exe的实用程序,允许我这样做。