1、检测操作系统是否为x64系统
可以读环境变量PROCESSOR_ARCHITECTURE,该变量在32位系统为x86,在AMD的x64的机器和在Intel的x64机器上为AMD64,在安腾(Itanium)系统为IA64。可以使用下面的代码:
ReadEnvStr $Win64 PROCESSOR_ARCHITECTURE
StrCmp $Win64 "x86" lbl_Win32
2、禁止文件转向
调用函数可以禁止或恢复文件转向。如:
; 禁止
System::Call "Kernel32::Wow64EnableWow64FsRedirection(i 0)"
......
; 恢复
System::Call "Kernel32::Wow64EnableWow64FsRedirection(i 1)"
3、在调用涉及注册表的函数前用 SetRegView 64,后用 SetRegView lastused。
!ifdef LIBRARY_X64
SetRegView 64
!endif
WriteRegStr ...
WriteRegStr ...
WriteRegStr ...
!ifdef LIBRARY_X64
SetRegView lastused
!endif