Хотел бы посоветоваться с Мэтрами NSIS-а!
Windows 7 и Vista имеет ряд ограничений на папку
C:\Program Files.
При установке некоторых программ а так же игр (не имеющий профиля), следует выбирать другую папку установки.
То есть при установки в Windows 7 и Vista предлагать по умолчанию другую папку (к примеру
Games\XXX), в других Windows предлагать стандартно
C:\Program Files\XXX.
Написал простую логику, но при выборе другой папки или диска терялась
\XXX , переписал заново вроде всё работает, но я не уверен полностью.
Прошу проверить!
Код:
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Russian.nlf"
XPStyle on
!include WinVer.nsh
Var SysDrive
Var INSTIPE
Var SETUPDIR
Function .onInit
Pop $0
StrCpy $INSTIPE "$PROGRAMFILES"
${If} ${IsWinVista}
StrCpy $SysDrive $WINDIR 2
StrCpy $INSTIPE "$SysDrive\Games"
${ElseIf} ${IsWin7}
StrCpy $SysDrive $WINDIR 2
StrCpy $INSTIPE "$SysDrive\Games"
${EndIf}
StrCpy $INSTDIR "$INSTIPE\XXX"
StrCpy $SETUPDIR "$INSTDIR"
FunctionEnd
OutFile "XXX_setup.exe"
InstallDir "$SETUPDIR\XXX"
Page directory
Section -XXX
SectionEnd