2010-09-22 34 views
3

我在OS X电脑上根据http://nsis.sourceforge.net/Docs/AppendixG.html#G.3提供的说明构建NSIS 2.46。构建工作正常,它正确地创建我的安装程序。NSIS安装程序(在OS X上)给出'无效的命令:TargetMinimalOS'

我的安装程序完全正常工作,但我想添加的命令:

TargetMinimalOS 5.0

这不是我的任务是必不可少的;据我了解,它所做的只是让安装程序以Unicode运行,这不是必需的。只是看起来像是可以添加的东西,因为我不支持较旧的Windows版本。我把它放在命令'SetCompressor lzma'后面,它工作正常。然而,makensis报道:

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

,然后中止。

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

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

回答

4

在线文档从SVN产生并处于领先地位的稳定版本(目前2.46)

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

+0

谢谢!这解释了它。 – sam 2010-09-26 14:20:01

1

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