2013-05-17 4 views
0

J'ai développé une application C# qui fonctionne très bien en local.Impossible de charger une DLL dans le répertoire temporaire sur un serveur Windows

Mais il y a un problème quand je mets sur le serveur. L'application utilise une bibliothèque DLL (A.dll) dans un point de l'exécution, cette A.dll copie (ou est créée à la première exécution) une autre DLL (B.dll) dans le AppData/Local/TEMP annuaire. Mais quand le A.dll essayer de charger la B.dll une exception est jeté:

system.invalidoperationexception: failed to load B.dll 

J'ai essayé d'exécuter en tant qu'administrateur l'exe principal, mais sans résultats. Et je pense que les autorisations sont ok, après tout, c'est le répertoire TEMP.

Je n'ai pas accès à la source de DLL, sont des bibliothèques.

Quelqu'un peut me suggérer une solution? Est-ce que je vérifierais mieux? Où?

Merci à tous.

+0

Vous pouvez essayer d'installer la DLL dans le GAC, plus d'informations ici - http://msdn.microsoft.com/en-us/library/dkkx7f79.aspx – JMK

+0

wich dll je vais installer? Le A .dll ou le B.dll? Ou les deux? Une autre chose est que je vais utiliser le net Frameworke 4.0 Gacutil est pour le 4.5 il ya un problème? – Univers3

+0

Pourquoi ne pas mettre les deux dlls dans le même répertoire que le .exe? – Josh

Répondre

0

Avez-vous vérifié que le système ne limite pas l'exécution du code à partir du répertoire temporaire, par ex. utilisant SRP ou AppLocker?

Ceci est généralement défini dans la stratégie de groupe et est généralement une restriction raisonnable ces jours-ci pour empêcher des choses telles que les programmes d'installation de drive-by et les logiciels malveillants cryptolocker.

Vous pouvez le vérifier en essayant d'exécuter un exécutable à partir de% TEMP% et en vérifiant si vous obtenez une erreur d'accès refusé.

Si tel est le cas, vous pouvez essayer la relocalisation TEMP (comme SRP généralement par défaut vous verrouillage de% USERPROFILE% \ AppData \ Local \ Temp et en déplaçant le dossier Temp aura l'effet désiré.

Hope this

Questions connexes