![]() |
1
22
可能有一个非常简单的方法,但我不知道它是什么。当我第一次开始使用NSIS时,我开发了这个解决方法来满足我的需要,从那以后就再也没有重新讨论过这个问题,看看是否还有更优雅的东西。 我希望我的安装程序与我的主可执行文件具有相同的版本号、描述和版权信息。因此,我编写了一个名为GetAssemblyInfoForNSIS的短C#应用程序,它从可执行文件中提取文件信息,并将其写入安装程序包含的.nsh文件中。 以下是C应用程序:
因此,如果您这样使用该应用程序:
您将得到一个名为MyAppVersionInfo.nsh的文件,该文件类似于(假设此信息在可执行文件中):
在NSIS脚本的顶部,我做了如下操作:
!system 调用GetAssemblyInfoForNSIS.exe。此系统调用在安装程序编译期间发生,并在包含.nsh文件之前生成该文件。我使用/NONFATAL开关,以便在生成include文件时发生错误时安装程序不会完全失败。 |
![]() |
2
12
您可以在没有.NET的情况下使用 GetVersion plugin ,但遵循相同的基本逻辑: 以下是ExtractVersionInfo.nsi:
|
![]() |
3
5
|
![]() |
4
3
我在NSIS wiki上找到了一种方法: http://nsis.sourceforge.net/Version_Info_manipulations_on_compile-time |
![]() |
5
1
|
![]() |
6
0
NSIS编译后调用简单VBS脚本:
|
![]() |
7
-1
由于NSIS v3.0a0可以直接在脚本中执行,因此不需要外部工具: !getdllversion 示例代码(来自文档):
|
![]() |
fhe · 在nsDialogs中处理键盘导航 7 年前 |
![]() |
singularity · NSIS推送、pop和URLEncode 7 年前 |
![]() |
Tim · nsis安装程序删除“开始”菜单子目录中的现有应用程序链接 7 年前 |
![]() |
zvon · NSIS-如何正确确定已安装3ds max的位置? 7 年前 |
![]() |
Albert Mulder · NSIS检查是否安装了应用程序 7 年前 |