2016-06-01 3 views
-1

regasm.exeを使用して.NETアセンブリを登録しました。すべては問題ありませんが、私には1つの問題があります。 管理者ユーザーアセンブリから登録を実行すると、このユーザーのみが表示されます。 登録:すべてのユーザーの.NETアセンブリの登録

regasm.exe "C:\Assembly Path\MyAsm.dll" /codebase 

どのようにしてすべてのユーザーにアセンブリを登録できますか?

+5

'regasm'は、GACとは何の関係もありません。それはあなたのアセンブリによって公開されたCOMインタフェースだけを登録します。あなたはおそらく 'gacutil'を探しています。 –

+0

@FrédéricHamidiこれは私のせいです。おそらくregasm.exeを意味します。 – Gleb

+0

はい、@Frederic Hamidiに同意してください。 https://msdn.microsoft.com/en-us/library/ex0ss12c%28v=1.0%29.aspx – Roshan

答えて

0

@FrédéricHamidiに記載のとおり、.netアセンブリにはgacutilを使用する必要があります。また、コードでこれを行うことができます(昇格を必要とし、また、DLLを更新するために使用することができます):あなたがManaged COM DLLを持っている場合は

var publish = new System.EnterpriseServices.Internal.Publish(); 
publish.GacInstall("fullPathToDll"); 

、あなたがregasm.exeの正しいバージョン(64ビットまたは32ビット)を使用していることを確認してください あなたがUnmanaged COM DLLを持っている場合は、

(その場合には、この質問はthat questionの重複かもしれません)を使用regsvr32

+0

質問はCOM DLLを登録することにあるようですが、必ずしも.NETアセンブリである必要はありません。また、クライアントマシンでGacUtil(またはそのAPI)を使用しないでください。それは開発ツールです。 – CodeCaster

+0

@コードキャスターそれでは、質問とタグはどちらも間違っています... –

+0

それはその場合に当てはまる最初の質問ではありません。 OPは明らかに誤っており、この答えは私が恐れている彼らを助けるつもりはありません。 – CodeCaster

関連する問題