Cos'è una stringa di build di Windows?
È un insieme di caratteri che identifica in modo univoco una build di Windows.
Cos'è una build? ...
Una build si riferisce alla costruzione di una soluzione. Cioè: compilazione di codice sorgente in codice oggetto e collegamento di codice oggetto in codice macchina eseguibile. È il prodotto finale per l'analisi, la progettazione e la programmazione. Tuttavia, potrebbe non essere il prodotto finale, perché potrebbe essere rivisto più volte prima che ciò accada. Quando lo fa, è noto come la versione finale, la versione gold o nel caso del software Microsoft: RTM (release to manufacturing).
In definitiva, una build è la soluzione a un problema che può essere risolto nel software! È quindi meglio conosciuto semplicemente come software. In questo caso è il software di sistema di Windows - il sistema operativo che molto probabilmente gira sul tuo computer in questo momento e lo rende utile. I bambini di oggi chiamano tutte "app", in origine una forma abbreviata di "applicazioni" o "software applicativo", ma ora ha assunto anche altri significati. I Grup chiamano semplicemente "programmi". Per riutilizzare un proverbio svedese, "un bambino amato ha molti nomi".
È anche il nome della conferenza annuale degli sviluppatori Microsoft.
Come si può leggere la stringa di compilazione in Windows?
La stringa di compilazione viene archiviata internamente come valore di stringa nel registro di Windows. Ci sono due tipi di stringhe di build da prendere in considerazione. Uno è chiamato semplicemente una stringa di build e include solo il numero di build, quindi è solo numerico. L'altro viene talvolta chiamato una stringa di compilazione completa, poiché include anche il nome del ramo e il tempo di compilazione, o piuttosto la creazione di un indicatore di data e ora.
La seguente chiave nel registro di Windows contiene la stringa di compilazione completa del sistema in esecuzione.
HKLM\Software\Microsoft\Windows NT\CurrentVersion
Ci sono due variabili di interesse qui:
BuildLab: 10240.th1.150729-1800
BuildLabEx: 10240.16412.amd64fre.th1.150729-1800
Qual è il significato della stringa di costruzione?
In generale, una stringa di build contiene i seguenti segmenti: versione principale, versione secondaria, numero di build, nome del ramo, data di costruzione, tempo di compilazione.
In generale, lo schema è simile a questo:
[major].[minor].[build].[branch].[date]-[time]
Esaminerò alcuni esempi ora.
- 6.4.9879.fbl_release.141103-1722
Qui, la versione principale è 6, la versione secondaria è 4, il numero di build è 9879. Il nome del ramo è fbl_release. È stato costruito il 3 novembre 2014, alle 17:22 ora locale.
- 10.0.10014.winmain_prs.150205-1859
La versione principale qui è 10, la versione secondaria è 0, il numero di build è 10014. Questa è una delle prime versioni di Windows che ha ottenuto la versione principale numero 10. Microsoft ha ribaltato il numero di versione principale da 6 a 10 solo una build in precedenza (build 10009) . Questo è ciò che ha dato il nome a Windows 10. Il nome del ramo è winmain_prs e questo è considerato il ramo principale. È stato realizzato il 5 febbraio 2015 alle 18:59 ora locale.
- 10.0.10240.16384.th1.150709-1700
Qui abbiamo la versione principale 10, versione minore 0 e numero di build 10240. Non sono abbastanza sicuro di ciò che rappresenta 16384. Questo numero viene visualizzato nelle stringhe di Windows 8.1, Windows 8, Windows 7 e Windows Vista quando si tratta di una build RTM o quasi RTM. Lo chiamo il "numero magico". Ma immagino sia una sorta di "micro build" o costruisca la sovversione. Questo è stato realizzato il 9 luglio 2015, 20 giorni prima della disponibilità generale di Windows 10. È stato inviato ai tester di Windows Insider il 15 luglio e ha iniziato a funzionare il 29 luglio a coloro che hanno prenotato una copia di aggiornamento gratuita di Windows 10.
- BuildLab: 10240.th1.150729-1800
- BuildLabEx: 10240.16412.amd64fre.th1.150729-1800
Questo è quello che sto attualmente usando per scrivere questa risposta. Questa è anche una build RTM, perché è build 10240. Ma come puoi vedere dalla data di costruzione, questa è in realtà più della precedente che è stata rilasciata il 15 luglio ai tester. Guarda la data! Dice il 29 luglio 2015. Questa è la data di rilascio di Windows 10! E guarda il numero magico! È 16412! Confrontalo con 16384. Quindi con questo so che questa è una versione successiva.
Il valore BuildLabEx include leggermente più informazioni rispetto agli esempi precedenti. Include il numero magico o build subversion e il nome dell'architettura del processore. Quindi, in questo caso, è AMD64, a.k.a. EM64T o Intel 64, ovvero: un processore a 64 bit. Il "fre" probabilmente sta per "free", cioè: kernel di produzione, al contrario del kernel di sviluppo "controllato".
Quindi lo schema espanso assomiglia a questo:
[major].[minor].[build].[subversion].[architecture].[branch].[date]-[time]
Ma qual è il significato dei nomi dei rami? ...
- winmain_prs
- fbl_impressive
- fbl_awesome
- fbl_release
- Th1
Il winmain_prs è il ramo "Windows main". Questo è il ramo principale, stabile e pronto per il rilascio da cui sono state sviluppate tutte le versioni precedenti e future di Windows (almeno nel caso della famiglia Windows NT). Il "pr" potrebbe essere sinonimo di partner o produzione pronta e stabile. Sto solo indovinando! Non ci sono molte informazioni su questo sul web.
Sono abbastanza sicuro che "fbl" sta per "build futura". Questi sono lavori in corso, rami instabili. Vanno sotto nomi carini come "impressionante", "fantastico" e "rilascio" (l'ultimo non è così carino). Penso che "impressionante" e "fantastico" siano usati per aggiungere nuove funzionalità, mentre "release" è usato per eseguire il debug e stabilizzare prima di essere integrato inverso al ramo principale.
Il ramo "th1" è nuovo. Non sono sicuro di cosa significhi. Ma so che è solo la build RTM che si blocca su questo ramo. Quindi potrebbe essere una sorta di indicazione del cambiamento nel modello di rilascio di Windows. Mi riferisco allo spostamento verso Windows come servizio.
Aggiornamento: Build 10525 è stato recentemente rilasciato sul ramo "th2". Il "th" è apparentemente un abbreviazione di "threshold" che è il nome in codice per Windows 10. Il "th1" sembra essere la versione pubblica generale, mentre "th2" è il ramo di rilascio dell'anteprima dell'insider.
Perché le stringhe di build sono utili?
Consentono l'identificazione esatta delle build di Windows, fino al ramo e compilano il tempo. Ciò semplifica il rintracciamento delle piccole modifiche, perché ogni modifica al codice, per quanto piccola, che viene compilata, collegata, costruita e rilasciata, ottiene anche una nuova stringa di build che la identifica. Le stringhe di build sono per lo più utili ai beta tester. Perché piccole e frequenti modifiche al codice vengono apportate durante la fase di test del ciclo di sviluppo.
Una volta che il rilascio finale è stato fatto, le stringhe di costruzione complete diventano di scarso interesse. Invece, la cosa principale di interesse è il numero maggiore, minore e di build. Questo aiuta a identificare la "versione" del sistema Windows in esecuzione. Questo è ciò che le app di Windows di terze parti stanno utilizzando per identificare la versione di Windows su cui vengono installati o in esecuzione. Questo è diverso dal nome di marketing di Windows, come "Windows XP" o "Windows Vista".