2009-10-22 8 views
0

J'ai créé un AddIn Outlook assez simple et pendant l'installation, j'ai besoin que les utilisateurs saisissent quelques paramètres de configuration. Le problème que j'ai est quand il s'agit de l'installation, je reçois une erreur indiquant que le hachage calculé dans le manifeste ne correspond pas (essentiellement parce que j'ai modifié certains paramètres de la date de construction de la DLL).Recréation de l'application pendant l'installation vsto

Ma question est comment puis-je re-signer ceci ou le contourner.

Répondre

1

Il semble que vous incluiez des paramètres de configuration d'application quelque part qu'ils ne devraient pas l'être.

La solution consiste à déplacer ces paramètres de configuration dans un fichier de configuration externe et à charger vos paramètres de manière dynamique lors de l'exécution. Un fichier de configuration externe ne fera pas partie de l'assembly signé et ne gâchera donc pas votre distribution signée.

Il convient de noter que le .NET System.Configuration cours ne fonctionnent pas très bien avec les assemblées et surtout mal pour les ensembles de VSTO (voir plusieurs problèmes signalés ici sur SO: 594298). En tant que tel, je vous recommande de rouler votre propre classe de configuration ou de lire fortement sur la méthode ConfigurationManager.OpenMapperExeConfiguration pour remplacer le fichier de configuration ciblé.

De plus Si vous utilisez actuellement ClickOnce alors ce projet semble être mieux adapté au déploiement via un Windows Installer Package.

+0

Le complément se connecte à un service Web, mais l'adresse de ce service Web est entré sur l'installation (changements par client) donc cela doit être dans la configuration de l'application, le nom d'utilisateur et mot de passe je peux facilement passer au registre ils ne sont pas le problème, c'est l'adresse du service Web qui est. – Gazeth

+0

Gazeth - Comment installez-vous? Je ne suggère pas que vous les déplaciez au Greffe, vous pouvez les déplacer tous dans un fichier de configuration mais ils ne peuvent pas être à l'Assemblée. Où sont les paramètres de configuration écrits/lus en ce moment? – jamiei

+0

J'ai tendance à faire l'installation ci-dessus avec le package d'installation de Windows et à ajouter une action personnalisée pour définir un fichier de configuration seprate sur un chemin d'accès à appdata. Vous devrez rouler votre propre classe pour lire le fichier, mais ce n'est pas difficile. vous pouvez ensuite éditer/intall le fichier de configuration. comme jamiei dit id c'est juste une seule adresse ws peut être le registre est le chemin à parcourir. – 76mel