- PR -

ノータッチ・デプロイメントWebからWinアプリの起動について

1
投稿者投稿内容
げな
会議室デビュー日: 2004/08/31
投稿数: 3
投稿日時: 2004-12-07 16:48
いつも参考にさせていただいてます。
ノータッチデプロイメントについての知識をお持ちの方よろしく御教授願います。

 Asp.Netのログイン画面からサーバー上に配置されたWindowsアプリ(Menu.exe)を
 クライアント側にダウンロードし起動させています。

【問題点】
 Menu.exeのソースに変更を加えてリビルドしたものをサーバー上の同じ場所に再配置し
 ログイン画面から起動しようとすると以下のエラーがでてうまくいきません。

-----------------------------------------------------------------------------
'System.IO.FileLoadException' のハンドルされていない例外が IEExec.exe で発生しました。

追加情報 : 見つかったアセンブリのマニフェストの定義 'Menu.exe?99999' は
アセンブリの参照と一致しません。 
-----------------------------------------------------------------------------

1.ログイン画面からのEXEの起動はResponse.Redirect()で行っています。
 2.Menu.exeではWebServiceを参照しているため
  http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=6860&forum=7
  で紹介されているハンドラを使用しています。
 3.Menu.exeは独自コントロールであるMenuButtonEx.dllを参照しています。(曖昧アセンブリ)

【開発環境】
 クライアント
 ・WindowsXp Pro sp1
 ・Micorosoft Visualstudio 2003
 ・.NET Framework1.1 sp1

【サーバ】
 ・Win2000 Advanced Server
 ・.NET Framework1.1 sp1

 ノータッチデプロイメント関連の投稿等はかなり参考にしたのですがどうしてもうまくいきません。
 説明不足の点もあるかと思いますが、よろしくおねがいします。
cats
大ベテラン
会議室デビュー日: 2002/11/29
投稿数: 221
お住まい・勤務地: 東京
投稿日時: 2004-12-07 22:00
すいません。私はわかりませんが、問題が再現する最低限まで余分なものを削除し、再現ソースを公開すると、誰かわかるかも。
げな
会議室デビュー日: 2004/08/31
投稿数: 3
投稿日時: 2004-12-07 22:37
引用:

catsさんの書き込み (2004-12-07 22:00) より:
すいません。私はわかりませんが、問題が再現する最低限まで余分なものを削除し、再現ソースを公開すると、誰かわかるかも。




catsさん返信ありがとうございます。

アドバイスを頂きつつこちらで調査を進めて原因となりそうな部分を絞り込んでいる最中です。
-------------------------------------------------------------------------
2.Menu.exeではWebServiceを参照しているため
  http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=6860&forum=7
  で紹介されているハンドラを使用しています。
-------------------------------------------------------------------------
上記部分が何か悪さをしている可能性があるので調査しています。
・紹介されていたソースをそのまま使用していました。
・IISの設定も変更しました。

あと気になるのはコマンドライン引数でIDを渡している箇所です。

この二つの調査を進めます。

こちらで何かわかりましたら結果を報告させていただきます。

甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2004-12-08 07:54
原因はわかりません。

マニフェストは使用しているリソースや必要とする権限、アセンブリの依存関係などを定義したリソースです。MenuButtonと言うアセンブリを新たに参照したことによって、マニフェストが書き換わったのが直接の引き金なのだと思います。

MenuButtonのアセンブリが参照できないとか、そんな理由じゃないかな。

[ メッセージ編集済み 編集者: 甕星 編集日時 2004-12-08 08:20 ]
げな
会議室デビュー日: 2004/08/31
投稿数: 3
投稿日時: 2004-12-08 10:51
引用:

甕星さんの書き込み (2004-12-08 07:54) より:
原因はわかりません。

マニフェストは使用しているリソースや必要とする権限、アセンブリの依存関係などを定義したリソースです。MenuButtonと言うアセンブリを新たに参照したことによって、マニフェストが書き換わったのが直接の引き金なのだと思います。

MenuButtonのアセンブリが参照できないとか、そんな理由じゃないかな。

[ メッセージ編集済み 編集者: 甕星 編集日時 2004-12-08 08:20 ]



甕星さん返信ありがとうございます。

リビルドしたアセンブリ(Menu.exe)に厳密名を付け、アセンブリのバージョンを変えるとうまく実行できました。

こちらでもいろいろ調べてみたのですが、以下のことをもう少し検証してみたいと思います。

1.ノータッチデプロイメントでの起動パラメータ渡しについて
  起動パラメータ付きでEXEを起動するとそのEXEがWebServiceを参照していた場合
  エラーが起こってしまいます。

2.(1.)で起こるエラーを回避するためのハンドラの使用及びIISの設定
  -----<げなの最初の投稿から>------------------------------------------------
2.Menu.exeではWebServiceを参照しているため
   http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=6860&forum=7
   で紹介されているハンドラを使用しています。
  ---------------------------------------------------------------------------

3.(2.)を行うことによってアセンブリのバージョン管理が必要になる。
  ここでリビルドしたアセンブリに厳密名を付け、アセンブリのバージョンを変える  とうまく実行できました。

なるべく細かな設定などをせずに実行できる方法を探そうと思っております。
ですので(1.)が解決できればかなりすっきりするはずなのですが。
起動パラメータ渡しを行うとWebServiceの使用に影響がでるのは避けることができないのでしょうか?

1

スキルアップ/キャリアアップ(JOB@IT)