Domanda

Abbiamo un'applicazione che richiede all'utente di essere un amministratore per l'esecuzione. Così, nel app.manifest abbiamo creato

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

Abbiamo una chiave per firmare le nostre assemblee con, che sono stato in grado di utilizzare per la firma del MSI e l'eseguibile della nostra applicazione. eseguibile dell'applicazione è firmata tramite signtool.exe nel post evento di generazione per il progetto.

Se guardo nella directory bin, l'eseguibile è infatti firmato correttamente, ma dopo che è stato confezionato nel msi e installato su un'altra macchina, l'eseguibile non è più firmato.

Questo normalmente non essere un problema enorme se non che abbiamo bisogno di privilegi di amministrazione, in modo che quando l'utente ottiene il prompt UAC, visualizza un autore sconosciuto.

Come posso ottenere l'eseguibile da firmare dopo che è confezionato in un MSI?

È stato utile?

Soluzione

Finalmente ho trovato la risposta su un blog oscuro.

Quando l'MSI viene compilato, non tira dalla directory bin, tira dalla directory obj. In sostanza, mi era stato la firma del file eseguibile sbagliata.

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