Recentemente ho acquistato un certificato di autenticazione autentica da globalsign e sto avendo problemi a firmare i miei file per la distribuzione. Esistono un paio di file .exe generati da un progetto e quindi inseriti in un .msi. Quando firmo i file .exe con il signtool il certificato è valido e funzionano bene. Il problema è che quando costruisco il .msi (usando il progetto di installazione di Visual Studio) i file .exe perdono le loro firme. Quindi posso firmare il .msi dopo che è stato creato, ma i file .exe installati continuano l'intera attività del "publisher sconosciuto". Come posso conservare la firma su questi file per l'installazione sul computer client?Come firmare i file di installazione di un Visual Studio .msi
risposta
Visual Studio crea due cartelle in fase di compilazione: obj e bin. Risulta, almeno nel mio caso, l'output verrà sempre copiato dalla cartella obj nella cartella bin. Stavo firmando gli eseguibili nella cartella bin solo per averli sovrascritti e poi impacchettati nel file msi. La firma degli eseguibili nella cartella obj ha risolto il problema.
Sei positivo che il progetto di installazione stia guardando il file binario firmato e non quello senza firma?
Non sto utilizzando molto il generatore msi, ma troverei sorprendente che modificasse i file che esso contiene.
Grazie per avermi indicato nella giusta direzione – Alex
È possibile aggiungere i seguenti PostBuiltEvent al progetto di installazione VS (proprietà del progetto):
Windows 8.0:
"C:\Program Files (x86)\Windows Kits\8.0\bin\x86\signtool.exe" sign /a $(BuiltOutputPath)
di Windows 10:
"C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe" sign /a $(BuiltOutputPath)
PS : Adatta gli argomenti degli strumenti di firma in base alle tue esigenze facendo riferimento a the documentation
- 1. Come firmare un MSI?
- 2. Visual Studio: come denominare il file di output .msi di un progetto di installazione?
- 3. Come posso creare un programma di installazione (msi) in Visual Studio Express 2010?
- 4. Come firmare un programma di installazione per prevenire l'avviso UAC di Vista
- 5. Come aggiungere un file MSI al mio programma di installazione
- 6. Installazione di Visual Studio 2010
- 7. C'è qualche punto nel file setup.exe creato da un progetto di installazione in Visual Studio?
- 8. Progetti di installazione .NET con Visual Studio 2008
- 9. Come eseguire il file di installazione (* .exe) senza utilizzare il file MSI?
- 10. Installazione silenziosa di un pacchetto MSI
- 11. di installazione MSI a chiamare un altro programma di installazione MSI in modalità silenziosa con WiX
- 12. Installazione di Visual Studio Condizionale se File esiste
- 13. Progetto di installazione in Visual Studio 2010: Publisher sconosciuto?
- 14. Installazione di Visual Studio Fresh - Problemi grafici
- 15. Progetto di installazione in Visual Studio 2010 richiede .NET 4.0
- 16. Percorso di installazione in Visual Studio ombreggiato
- 17. Codice di installazione Visual Studio posizione
- 18. Creazione di un programma di installazione MSI per un servizio di Windows
- 19. Progetto di installazione di Visual Studio: Ottieni directory di destinazione
- 20. Progetto di installazione di Visual Studio 2010 - un progetto per 64 e 32
- 21. Come creare un MSI con Visual Studio 2012 e Installshield LE
- 22. Come firmare tutti i file msi che si trovano nella cartella?
- 23. Come migrare il progetto di installazione di Visual Studio su InstallShield Limited Edition?
- 24. numeri di versione msi
- 25. Versione Exe nel nome del file di installazione MSI (VS 2010)
- 26. Progetto di installazione di Visual Studio 2010: come impostare il nome dell'azienda utilizzato nel percorso di installazione predefinito?
- 27. Pubblicazione di Visual Studio 2013 senza programma di installazione
- 28. Possiamo istruire l'installazione di Visual Studio per mantenere i file esistenti per la reinstallazione?
- 29. non può firmare C++/assemblaggio CLI in Visual Studio 2015
- 30. Wix * .msi di installazione Icona e loghi
grazie, questo ha risolto i miei problemi con questo! –
Grazie mille. Avevo visto persone che cercavano di comunicare lo stesso altrove, anche se la tua risposta era molto concisa e facile da leggere. Hai risparmiato ore della mia vita :) – Dawson