Я пытаюсь сделать скрипт установки:NSIS скрипт не устанавливается в правильном каталоге
- на 32бит ПК: tapi_32bits.tsp в
C:\windows\system32
- на 64bits ПК: tapi_64bits.tsp в
C:\Windows\System32
и tapi_32bits.tsp вC:\Windows\SysWOW64
Это сценарий, я писал:
; The name of the installer
Name "TAPI Installer"
; The file to write
OutFile "TAPI Installer"
; The default installation directory
InstallDir $DESKTOP
;--------------------------------
; Install to the correct directory on 32 bit or 64 bit machines
Section
IfFileExists $WINDIR\SYSWOW64\*.* Is64bit Is32bit
Is32bit:
; Set output path to the installation directory.
SetOutPath $SYSDIR
; Put file there
File tapi_32bits.tsp
; SectionEnd MessageBox MB_OK "32 bit"
SetRegView 32
StrCpy $INSTDIR "$PROGRAMFILES32\LANDesk\Health Check"
GOTO End32Bitvs64BitCheck
Is64bit:
; install in C:\Windows\System32
SetOutPath $WINDIR\System32\
; file to put there
File tapi_64bits.tsp
; install in C:\Windows\SysWOW64
SetOutPath $WINDIR\SysWOW64
; file to put there
File tapi_32bits.tsp
;SectionEnd MessageBox MB_OK "32 bit"
SetRegView 32
StrCpy $INSTDIR "$PROGRAMFILES32\LANDesk\Health Check"
GOTO End32Bitvs64BitCheck
MessageBox MB_OK "64 bit"
SetRegView 64
StrCpy $INSTDIR "$PROGRAMFILES64\LANDesk\Health Check"
End32Bitvs64BitCheck:
SectionEnd
;--------------------------------
Но на 64-битном ПК он помещает оба файла (tapi_64bits.tsp и tapi_32bits.tsp) в папку Syswow64. Установщик говорит, что он установлен в правильной папке, но оба файла находятся в папке Syswow64. Что я делаю не так?
кажется нормально Sysnative заменяется на system32 Win 7 x64 – Tanguy
@Tanguy: Нет это не так! В 64-битном приложении есть только% windir% \ system32, и в нем содержатся реальные 64-битные системные файлы (32-разрядные системные файлы находятся в SysWow64). В 32-битном приложении% windir% \ sysnative содержит 64-битные системные файлы, а% windir% \ system32 содержит 32-битные системные файлы ... – Anders