質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

2回答

10107閲覧

RegAsm.exeでDLLのレジストリ登録

awawa7

総合スコア14

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2018/04/16 02:05

現在、「RegAsm.exe」を使用して指定したDLLのレジストリ登録を行う
プロセスの作成を行っているのですが、「RegAsm.exe」の処理結果(レジストリ登録が正常終了できたか否か)を呼び出し元に通知する方法がわかりません。

コンソール上にはメッセージが表示されるので、それで判断することも可能とは思いますが、実行環境に左右される可能性があることからできれば避けたいと考えています。

「RegAsm.exe」の処理結果を通知する方法として最適な方法をご教授いただければと思います。よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Publish.RegisterAssembly メソッド (String)
はどうですか?
例外がスローされたら失敗ということで。

備考
RegisterAssembly アセンブリ登録ツール (Regasm.exe) を使用して、アセンブリの作成可能なクラスを登録します。 詳細については、「Regasm.exe (アセンブリ登録ツール)」を参照してください。

投稿2018/04/16 04:46

編集2018/04/16 04:49
Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2018/04/16 05:30

こちらの方が(内部的にregasm.exeを使っていたとしても)各種Exception でインターフェースが保証されていると考えられるので、よりポータブルで良さそうです。
awawa7

2018/04/16 08:33

regasm.exeに「/codebase」のオプションを使用することも可能ですか??
Zuishin

2018/04/16 08:53

確認していませんが例外の説明に codebase とあるのでデフォルトで指定されているのではないですか? 自分で確認してみてください。 そうでない場合、GacRemove() で削除することもできます。
guest

0

RegAsm.exeの終了コードで判定できませんか?
コマンドを実行してその結果を判定する場合、一般的にはそのコマンドの終了コードを利用します。

例えば、RegAsm.exeで存在しないファイルddd を指定した場合、終了コードとして100が返るようです。

D:\TEMP>regasm ddd Microsoft .NET Framework Assembly Registration Utility 4.7.2053.0 for Microsoft .NET Framework Version 4.7.2053.0 Copyright (C) Microsoft Corporation. All rights reserved. RegAsm : error RA0000 : 入力アセンブリ 'ddd' またはその依存関係の 1 つが見つかり ません。 D:\TEMP>echo %ERRORLEVEL% 100 D:\TEMP>

ただ、RegAsm.exe の終了コードに関するリファレンスが無いので、ちょっと頼りなげです。
Regasm.exe (アセンブリ登録ツール)

その場合は、終了コードとして0が正常終了であることを充分検証した上で、0か否かで判定するしかないかな、と。

投稿2018/04/16 02:22

dodox86

総合スコア9183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問