2009-05-14 10 views
5

Utilizzo del Registro di sistema o del file system. Il motivo della limitazione è che sto facendo questo come una dichiarazione condizionale MSI.Come determinare se un computer è in esecuzione XP Service Pack 3

Cheers!

+0

Visto che si può fare clic destro e passare alle proprietà di Risorse del computer, questo dovrebbe essere molto semplice per qualcuno a rispondere con esperienza su dove sono archiviate queste informazioni. Purtroppo non sono io :) – TheTXI

+0

Il titolo di questa domanda ha avuto le mie speranze, e poi ho letto la parte sul registro o sul file system. :( – Scott

risposta

5

sotto chiave del Registro

HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion

look per coppia di chiavi:

CurrentVersion = Microsoft Windows NT 5.1.2600 Service Pack 3

+1

La chiave CSDVersion ha un valore "Service Pack n" . Che è abbastanza buono per quello che mi serve. –

4

Si dovrebbe trovare informazioni sufficienti per determinare il servizio operativo pack (nel peggiore dei casi si può sempre utilizzare la stringa build) nella seguente chiave di registro:


HKLM\Software\Microsoft\Windows NT\CurrentVersion 
+0

Cheers! Dove esattamente sotto questa chiave troverai le informazioni sul service pack? –

+0

Nel Service Pack 3 dovresti trovare una chiave denominata CSDVersion con valore "Service Pack 3" – em70

1

La funzione VerifyVersionInfo dovrebbe consentire di verificare la la versione di Windows che viene eseguita soddisfa i requisiti dell'applicazione, senza le insidie ​​che possono verificarsi con il controllo di una versione esatta con GetVersionEx (come la rottura delle principali modifiche alla versione - l'applicazione molto probabilmente verrà eseguita su Vista e Windows 7 e le versioni future non ancora sviluppato).

2

Se si utilizza un MSI, si dovrebbe essere in grado di utilizzare la VersionNT e ServicePackLevel proprietà nell'istruzione condizionale.

es. I seguenti controlli di codice per Windows XP SP3 o superiore:

VersionNT=501 And ServicePackLevel>2 

è anche possibile controllare la proprietàWindowsBuild se hai bisogno anche il numero di build.

-1

(tasto Windows + R o Start/Esegui) "Run" msinfo32 o sysdm.cpl

+0

questo è per xp, non so su 7/vista ecc. – Jimbo66

Problemi correlati