我的源代码中有两个jre文件。我根据用户输入创建了两个exe文件,并更改了名为的文件。
现在基于outfile我想要包含jre file.if outfile包含64然后包含64位jre,否则32位jre。 我试过下面的代码。但它没有用?
!ifdef PLATFORM64
OutFile setup64.exe
!else
OutFile setup32.exe
!endif
Function .Oninit
${StrContains} $0 "64" OutFile
File /oname=$JRE_INSTALLER_FILE_NAME "$TEMP\jre-6u29-windows-x64.exe"
FunctionEnd
问题: 1.如何根据名为?
的outfile包含任何一个jre文件答案 0 :(得分:0)
可能是这样的:
!ifdef PLATFORM64
OutFile setup64.exe
!else
OutFile setup32.exe
!endif
Function .Oninit
var JRE_PLATFORM_FILE
${StrContains} $0 "64" $OutFile
StrCmp $0 "" notfound
StrCpy $JRE_PLATFORM_FILE "file-name-for-64-bit-JRE"
Goto done
notfound:
StrCpy $JRE_PLATFORM_FILE "file-name-for-32-bit-JRE"
done:
File /oname=$JRE_INSTALLER_FILE_NAME $JRE_PLATFORM_FILE
FunctionEnd