Comment détecter windows 32 bits ou 64 bits en utilisant le script NSIS?
J'ai écrit un script nsis pour le projet java.J'ai un fichier Batch dans mon projet.J'ai écrit un fichier batch pour Windows 32 bits et 64 bits.Après l'installation, j'ai démarré le fichier batch automatiquement en utilisant la commandeExec .Son woks bien dans les fenêtres 32 bits.mais en même temps cela ne fonctionne pas bien dans 64 bit.so je soupçonne qu'avant d'installer, je devrais vérifier si windows est une version 32 bits ou 64 bits.veuillez partager vos points de vue Comment vérifier?
3 réponses
Pour les futurs googlers paresseux - un petit extrait:
Incluez ceci:
!include x64.nsh
Et utilisez ceci si:
${If} ${RunningX64}
# 64 bit code
${Else}
# 32 bit code
${EndIf}
Voici ce que j'utilise la plupart du temps sans avoir besoin de x64.nsh
Var Bit
System::Call "kernel32::GetCurrentProcess()i.s"
System::Call "kernel32::IsWow64Process(is,*i.r0)"
StrCmpS $0 0 +3
StrCpy $Bit 64
Goto +2
StrCpy $Bit 32
Maintenant, $Bit contient 64 ou 32 qui peuvent être utilisés comme ceci:
${If} $Bit == 64
...64-bit code..
${Else}
..32-bit code...
${EndIf}
Ou
StrCmpS $Bit 64 SixtyFour ThirtyTwo
SixtyFour:
...
Goto End
ThirtyTwo:
...
End:
J'ai utilisé {[3] } car je crois que c'est un cheveu plus rapide. Lol. Espérons que cette aide! =)