2012-06-11 7 views
5

Quindi la Gestione prodotti ha decretato che il nostro software dovrebbe avere numeri di versione con 3 serie di cifre anziché il solito 4 (ad es. 1.2.3 anziché 1.2.3.4)"Versione file" nel valore delle proprietà di Windows è FILEVERSION non "FileVersion"

Questo è facilmente possibile nelle finestre di dialogo "Informazioni" e altrove nell'interfaccia utente, ma sto riscontrando problemi con le proprietà di Windows.

Quando cambio i valori nel blocco VERSIONINFO a:

FILEVERSION 1,2,3 
PRODUCTVERSION 1,2,3 

VALUE "FileVersion", "1.2.3" 
VALUE "ProductVersion", "1.2.3" 

io alla fine con il seguente in Windows 7 di Proprietà> scheda dettagli per l'exe:

versione

File: 1.2.3.0 prodotto versione: 1.2.3

La modifica dei valori su tutti è diversa indica che "Versione file" viene prelevata da FILEVERSION e quindi sempre formattata come valore di gruppo a 4 cifre, ma "Versione prodotto" viene ricavata da "ProductVersion".

Esiste un modo per specificare che "Versione file" deve essere presa dal valore di stringa "FileVersion"? Se rimuovo il blocco FILEVERSION, mi ritrovo con una "versione file" di 0.0.0.0.

ho riprodotto questo comportamento in VS2010 con la creazione di un'applicazione console Win32 vuota, quindi l'aggiunta di una risorsa di versione di default:

VS_VERSION_INFO VERSIONINFO 
FILEVERSION 1,0,1 
PRODUCTVERSION 1,0,2 
FILEFLAGSMASK 0x3fL 
#ifdef _DEBUG 
FILEFLAGS 0x1L 
#else 
FILEFLAGS 0x0L 
#endif 
FILEOS 0x40004L 
FILETYPE 0x1L 
FILESUBTYPE 0x0L 
BEGIN 
    BLOCK "StringFileInfo" 
    BEGIN 
     BLOCK "080904b0" 
     BEGIN 
      VALUE "CompanyName", "TODO: <Company name>" 
      VALUE "FileDescription", "TODO: <File description>" 
      VALUE "FileVersion", "1.0.3" 
      VALUE "InternalName", "VersionT.exe" 
      VALUE "LegalCopyright", "Copyright (C) 2012" 
      VALUE "OriginalFilename", "VersionT.exe" 
      VALUE "ProductName", "TODO: <Product name>" 
      VALUE "ProductVersion", "1.0.4" 
     END 
    END 
    BLOCK "VarFileInfo" 
    BEGIN 
     VALUE "Translation", 0x809, 1200 
    END 
END 

Con conseguente lo stesso problema: properties http://media.use.com/images/s_1/4ba4e5b1b235179b1c9a.jpg

Questa immagine potrebbe venire fuori piccolo, quindi mi limiterò a confermare che si dice Versione file 1.0.1.0 Versione prodotto 1.0.4

Prima di dire al prodotto Ma che questo è il meglio che possiamo fare, c'è un modo per far sì che Windows mostri il valore di stringa "FileVersion"? Ho letto la documentazione di VERSIONINFO su MSDN e non vedo alcun flag che possa essere impostato per farlo.

+0

È possibile sostituire il gestore foglio proprietà suppongo. Quello non sarebbe saggio. –

+0

No, non sembra davvero una soluzione valida. Grazie comunque. – Chris

risposta

1

Dopo aver creato e installato this shell extension I found at CodeProject, sembra che ciò sia dovuto a Windows 7 che visualizza solo un sottoinsieme delle proprietà versioninfo e non c'è nulla che possa fare per modificarlo. La stringa FileVersion è presente nel file exe, ma non viene visualizzata nella finestra di dialogo delle proprietà predefinite.

Problemi correlati