Visual Studio 2012では、C#でDLLを作成しましたが、これを参照することでAccess 2013で使用できます。これはすべて正常に動作します。私はDLLを作成し、それをCMDに登録しました:RegAsm.exe -tlb -codebase C:\MyFolderX\MyDLL.dll
Powershellを使用してRegasmで.NET DLLを登録するとエラーが発生する
これはすべてうまくいきますが、複数のコンピュータにDLLを登録する必要があるため、各ユーザーのコンピュータで手動で行うのではなく、1回クリックします。
ユーザは既にBATCHファイルを使用して(DLLを使用する)Accessフロントエンドアプリケーションを起動するため、BATCH起動時に一度登録することをお勧めします。だから、これを行うには、これは私が私のバッチスクリプトで次のようにコメントを追加しました:それは管理者モードで実行する必要があり、管理者として実行]チェックボックスをチェックすることだけでなくて、私のバッチコードをジャンプしているため
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
RegAsm.exe -tlb -codebase C:\MyFolderX\MyDLL.dll
これは悲しげに動作しません。何らかの理由で何かをする。
だから、Powershellスクリプトを使ってバッチスクリプトから起動してみてはどうでしょうか。
#Register the assembly
$RegAsm = 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe -codebase -tlb'
$Assembly = 'C:\MyFolderX\MyDLL.dll'
Start-Process $RegAsm $Assembly
pause
しかし、これはエラーを与え続け:
Start-Process : This command cannot be run due to the error: The system cannot find the file specified. At C:\users\me\Desktop\RegisterMyDLL.pst1
+Start-Process $RegAsm $Assembly
InvalidOperation: (:) Start-Process
FullyQualifiedErrorId : InvalidOperationException, Microsoft.Powershell.Commands.StartProcessCommand
私は二重のちょうどそこにDLLの場所をチェックし、それそれ...誰でもこの私は次のスクリプトを作成を行うには
私が間違ってやっていることを知っている?たぶんいくつかの構文エラーまたは多くの引用?すでにバックスラッシュをエスケープしようとしましたが、これは何の効果もありませんでした。
複数のユーザーで簡単にDLLを登録するには、より良い方法がありますか?
はい、あります。ありがとうございました!それでも管理者の警告が表示されますが、少なくとも私はちょっと変わっています! – Nicolas