役に立ちましたか?

解決

COM Interop

の管理権限を持たずにレーブを呼び出す

RegistrationServices.RegisterAssembly RegOverridePredefKey HKCU Hiveの下で自動登録を実装するために、UACにやさしい方法で。私はより詳細な答えを投稿しましたここ

他のヒント

ええ、あなたは2つの問題を抱えています、GACまたはC:\ Program Filesサブディレクトリのように、を置くべきではありません。これらの場所にもUAC標高が必要です。あなたはおそらく、/ codebaseオプションを使用してRegasm.exeを実行するのを忘れました。ファイルの探している場所を教えるために必要なCLRに指示する必要があります。

ユーザは、DLLをディレクトリにコピーするのに十分な特権を持つ必要があります。これは、appdataサブディレクトリのように、c:\ users \ usernameのディレクトリのみです。 Headacheは、regファイルを個々のユーザーに適応させる必要があることに対処する必要があります。そのため、.REGファイルのCodeBase値を各ユーザーに対して変更する必要があります。このスケールは軽度にそれを置くために縮小されています。

あなたが見つけた答えはあまり良いものではありません。 が実際の作品が機能する唯一の解決策は、独自の登録機能を書くことです。 HKLMの代わりにHKCUでレジストリキーを書き込むもの。 [ comregisterfunction]属性。あなたはあなたが書く必要がある鍵を.regファイルから知っています。そしてあなたはAssembly.GetExecutingAssembly()を使用します。CodeBaseレジストリ値の書き込み先を見つけ出す場所。 [ComunregisterFunction]を忘れないでください。

少なくとも精神では、LAN管理者がこれらのユーザーに課される制限を節約しようとしていることに留意してください。彼らは彼らがサポートするマシン上でどのような種類のコードを実行するかを知ることについて多くのことを気にします。これはあなたを困っているかもしれませんが、少なくとも男と話をします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top