我想在部分描述中显示安装的可执行文件的版本吗?
LangString DESC_SecSoftware ${LANG_ENGLISH} "Software PX"
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${DescText} "Software test"
!insertmacro MUI_FUNCTION_DESCRIPTION_END
Run Code Online (Sandbox Code Playgroud)
如何读取test.exe的文件版本?
可以像这样读取文件版本:
${GetFileVersion} "C:\ftp\programm.exe" $ProgramVersion
Run Code Online (Sandbox Code Playgroud)
同 !include "FileFunc.nsh"
但路径必须是绝对的.我无法读取安装中包含的fileVersion whitch.
该${GetFileVersion}
宏将让你读取文件的版本在运行的机器上,你执行安装,并在该文件肯定是不存在的安装程序.EXE的外
相反,您可以使用GetDllVersionLocal
它在编译时执行,并将从程序员主机上的原始.exe中获取该版本.
!include "logiclib.nsh"
ShowInstDetails show
OutFile "exeversion.exe"
!define exe_to_read "some.exe"
Section
DetailPrint "getting version $EXEPATH"
GetDllVersionLocal "${exe_to_read}" $R0 $R1 ;the two values were read during compilation
IntOp $R2 $R0 / 0x00010000
IntOp $R3 $R0 & 0x0000FFFF
IntOp $R4 $R1 / 0x00010000
IntOp $R5 $R1 & 0x0000FFFF
StrCpy $0 "$R2.$R3.$R4.$R5"
DetailPrint "version read: $0"
SectionEnd
Run Code Online (Sandbox Code Playgroud)