2010-05-31 29 views
0

Pourquoi auriez-vous besoin d'exécuter regasm et caspol sur un composant .NET plus d'une fois?Pourquoi auriez-vous besoin d'exécuter regasm et caspol sur un composant .net plus d'une fois?

J'ai un client COM qui utilise un composant .NET résidant sur une autre machine. Par conséquent, je dois exécuter regasm et caspol sur ce composant .NET. Qu'est-ce qui pourrait provoquer la nécessité de refaire cela sur la même machine pour le même composant?

L'effet de regasm et caspol est-il uniquement temporaire? Ou puis-je supposer que quelqu'un a réinitialisé ou effacé quelque chose sur une machine si je dois le faire à nouveau?

EDIT: Seul le capsol doit être exécuté.

+0

Une restauration du système saute aux yeux. –

+0

Qu'en est-il d'un utilisateur différent connecté? – CJ7

+0

Un utilisateur différent ne serait pas important car les paramètres ne sont pas stockés dans la partie "par utilisateur" du registre. Toutes les entrées d'enregistrement COM sont spécifiques à la machine et je suppose que ce serait la même chose pour caspol. –

Répondre

1

Je ne sais pas grand-chose à propos de caspol, mais regasm va écrire dans le registre, donc les changements ne devraient pas "disparaître" d'eux-mêmes, je suppose que caspol est similaire. On dirait que quelqu'un d'autre a joué avec cet ordinateur.

Peut-être que cela pourrait être affecté si quelqu'un démarre la machine et lui dit d'utiliser "les derniers bons réglages connus" ou quoi que ce soit.

0

Êtes-vous sûr que le regasme et le caspol doivent être réexécutés? Si oui, la suggestion de Hans Passant d'une restauration du système semble probable. Cependant, si c'est juste caspol qui doit être réexécuté, une mise à niveau de .NET Framework peut être resposible. La stratégie CAS est spécifique à la version du CLR .NET sous lequel le composant est exécuté. Par conséquent, l'installation de .NET 2.0 sur une machine qui ne comportait auparavant que 1.x peut être à l'origine de votre problème. Les CLR 32 et 64 bits utilisent également des stratégies de sécurité différentes. Par conséquent, l'installation d'un .NET Framework à bit de remplacement peut également entraîner le chargement de l'assembly sous une stratégie CAS que vous n'avez pas encore modifiée.

+0

En fait, c'est juste caspol qui doit être exécuté. L'assemblage qui nécessite une nouvelle exécution de caspol provient d'un tiers. Est-ce que la stratégie CAS de cet assembly doit être peaufinée après une mise à niveau .NET? – CJ7

+0

La dépendance à la version de la stratégie CAS s'applique à tous les assemblys, c'est donc tout à fait possible. –