Domanda

Ho un progetto di installazione per il mio programma C # e questo progetto di installazione ha una versione nelle sue proprietà. Vorrei che il file MSI che veniva generato avesse questa versione incorporata in esso, così posso passarci sopra con il mouse in Explorer e vedere quale versione è il file.

Sto usando VS2008. Come posso farlo?

È stato utile?

Soluzione

Se aggiungi semplicemente la versione ": 1.5.0 " nella proprietà Descrizione del progetto di installazione, il numero di versione mostra anche sul file MSI in questo modo:

http://screencast.com/t/A499i6jS

Altri suggerimenti

Questa è una buona domanda ma non conosco alcun strumento di configurazione che possa farlo. Inoltre non ho mai incontrato un file MSI con la versione del file risorsa incorporata, quindi non è una pratica comune. Di solito, se voglio scoprire la versione di un file MSI, devo aprirlo in Orca e verifica la proprietà ProductVersion lì (nella tabella Proprietà).

Per quanto ne so, il file MSI non mostrerà mai la versione. La semplice ragione è che i file MSI non sono file PE, sono una specie di database. Msiexec.exe quindi interpreta questo database per eseguire l'installazione effettiva. La proprietà della versione menzionata viene utilizzata internamente dal motore MSI per aggiornamenti, disinstallazioni, ecc. E non viene mai visualizzata.

Apri il file .vdproj associato in un editor di testo. Cerca il " Prodotto " , quindi modificare la "ProductVersion", e il "Produttore" campi.

 "Product"
    {
    "Name" = "8:Microsoft Visual Studio"
    "ProductName" = "8:tidAxCleanupScript"
    "ProductCode" = "8:{0949AAAD-2C29-415E-851C-825C74C9CA81}"
    "PackageCode" = "8:{8F012EF1-D5D0-43DC-BBFD-761A639DDB07}"
    "UpgradeCode" = "8:{38DE1949-0782-4EF3-BDC2-080EB5B73EF8}"
    "RestartWWWService" = "11:FALSE"
    "RemovePreviousVersions" = "11:TRUE"
    "DetectNewerInstalledVersion" = "11:TRUE"
    "InstallAllUsers" = "11:FALSE"
    "ProductVersion" = "8:**1.5.0**"
    "Manufacturer" = "8:**Default Company Name**"
    "ARPHELPTELEPHONE" = "8:"

Potrei sbagliarmi, ma la versione msi non segue la versione nel file AssemblyInfo del tuo progetto di avvio?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top