Question

Nous avons une application qui demande à l'utilisateur d'être un administrateur à exécuter. Ainsi, dans le app.manifest que nous avons mis en place

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

Nous avons une clé pour signer nos assemblées avec, que je suis en mesure d'utiliser pour la signature du MSI et l'exécutable de notre application. L'exécutable de l'application est signée par signtool.exe en cas de post de construction pour le projet.

Si je regarde dans le répertoire bin, l'exécutable est en effet signé correctement, mais après il est emballé dans le msi et installé sur une autre machine, l'exécutable n'est plus signé.

Ce ne serait normalement pas un énorme problème, sauf que nous avons besoin priviledges admin, alors quand l'utilisateur obtient l'invite UAC, il affiche un éditeur inconnu.

Comment puis-je obtenir le fichier exécutable à signer après avoir été emballé dans un MSI?

Était-ce utile?

La solution

J'ai finalement trouvé la réponse sur un blog de obscur.

Lorsque le MSI est compilé, il ne tire pas du répertoire bin, il tire du répertoire obj. Au fond, j'avais été la signature du mauvais exécutable.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top