C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.91258 の関連記事表示

<< 0 >>
■91258  Re[1]: VB2019 .NET Frameworkの参照設定について
□投稿者/ Hongliang -(2019/06/09(Sun) 00:10:52)
    2019/06/09(Sun) 00:17:00 編集(投稿者)

    > プロトコル提供フォルダ内には関連dllファイルとBATファイルだけで、
    > BATを実行しても「拒否されました」と表示されてしまいます。
    > (BATはCopyによるWin32フォルダへの移行と、レジストするコマンドが記述されていました)

    「Win32フォルダ」というのはよく分かりませんが(C:\Windows\System32?)、「レジストするコマンド」というのは regsvr32 でしょうか?
    そうでなければ以下は無視して、もっと詳しくbatファイルの内容を説明して下さい。

    1. 管理者権限
    まず、C:\Windows以下へのファイルコピー、およびregsvr32の実行は、管理者権限が必要になります。
    Windows Vista以降のWindowsでは、既定では管理者ユーザであっても普段は管理者権限を持たず、明示的に「管理者として実行」する必要があります。
    今回の場合、スタートメニューのWindowsシステムツールか何かに入っている「コマンドプロンプト」を右クリックして「管理者として実行」すれば、そのコマンドプロンプト上で実行するbatなどすべて管理者として実行できるようになります。

    2. 64bit/32bit
    次に、regsvr32を行うWindowsが64bit版の場合、そのdllが32bitで作られているかどうかが問題になります。
    Windowsが32bit版の場合、またはbatファイルの中にC:\Windows\SysWOW64フォルダが登場するなら、この点は考慮済みと思われるので問題になりません。
    とりあえず(1.の「管理者として実行」したコマンドプロンプトで)batファイルを動かしてみて、「読み込みに失敗しました」というメッセージが表示された場合、以下のようにbatファイルを修正して下さい。
    C:\Windows\System32の記述がある場合、C:\Windows\SysWOW64に変更する。
    regsvr32がフルパス表記されていない場合またはC:\Windows\System32\regsvr32と記述されている場合、C:\Windows\SysWOW64\regsvr32に変更する。
    取り敢えずcopyとregsvr32、あとcdぐらいだけならこれだけで十分のはずです。他に記載がない部分があるならそこに何かあるかも知れませんが。

    3. VBでの参照
    最後にVBからの参照ですが、上記1.と2.を済ませておけば、参照の追加で「COM参照」的なタブを選べば、一覧の中に追加されているはずです。
    ただし、2.において、
    ・32bit Windows、または64bit WindowsでSysWOW64の方を使って登録した場合、アプリケーションは32bit向けで作らなければなりません。
    ・上記ではない、つまり64bit WindowsでSysWOW64の方を使わずに登録した場合、アプリケーションは64bit向けで作らなければなりません。
    簡単には、Visual Studioのツールバーに「Any CPU / x86 / x64」を選ぶドロップダウンがあると思うので、32bit向けの場合はx86を、64bit向けの場合はx64を選んで下さい。
記事No.91251 のレス /過去ログ157より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -