- PR -

ClickOnce 複数EXEの更新

1
投稿者投稿内容
ヨーキー
会議室デビュー日: 2007/11/20
投稿数: 16
投稿日時: 2007-11-20 18:35
お世話になっております。

@ITさんに既に投稿されてる内容ですが未解決で終わってるので
新たに投稿させて頂きます。

1つのソリューションを作成しそこに複数のプロジェクトを追加していきます。

[ソリューションA]
-プロジェクトA
-プロジェクトB
-dllA

ユーザーさんはソリューションAを更新すればすべてのプロジェクトが最新になるように
クリックワンスしたいと思うのですが出来ますでしょうか?

どんなアドバイスでも参考にさせて頂きますので
よろしくお願いします。

環境:XP Professional VS.NET2005 IE7

R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2007-11-21 11:29
EXE を複数ですか?
DLL ではなくて?

ジョブ単位でEXEを分けているってことでしょうか?

_________________
R・田中一郎 -  R.Tanaka.Ichiro’s Blog
ヨーキー
会議室デビュー日: 2007/11/20
投稿数: 16
投稿日時: 2007-11-21 11:48
返信ありがとうございます。

確かにプロジェクトをDLL化して1つのソリューションにまとめれば良いと
アドバイスを受けた事はあります。
ですがWinフォームのプログラムをDLL化するのが分からないです。

プロジェクト単位(ジョブと言うのでしょうか)でEXEを分けてます。
そのジョブ達を1つのソリューションにまとめ、クリックワンスで一括更新
出来ればと考えています。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2007-11-21 12:30
過去ログ
clickonceアプリケーションの複数exeについて(atmarkit.co.jp)
ヨーキー
会議室デビュー日: 2007/11/20
投稿数: 16
投稿日時: 2007-11-21 12:57
その過去ログを参考にして色々試したんですが駄目でした。

http://msdn2.microsoft.com/ja-jp/library/xc3tc5xx(VS.80).aspx
ここ参考にmageUI.exeを試してみました。
binフォルダにA、Bと2つのexeを置いてmageUI.exeを実行します。
作られた発行ファイルを実行してもAだけしかダウンロードされなくて。

ネットでその後調べても全く進んでおりません。
アマゾンにClickOnceの本(洋書)があるのでそれを買おうか迷ってます。

かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2007-11-21 12:59
引用:

どんぐりさんの書き込み (2007-11-21 11:48) より:

確かにプロジェクトをDLL化して1つのソリューションにまとめれば良いと
アドバイスを受けた事はあります。
ですがWinフォームのプログラムをDLL化するのが分からないです。


ジョブが固定され後にも先にも増加しないなら、
exeのプロジェクトの参照設定に追加する。
コンパイル時に、dllの参照が解決され、自動的にロードされます。

しかし、おそらく、exeとなるものはジョブのエントリーポイントとなるメニューと思われます。
ということはジョブ数は固定ではないでしょう。
この場合、後で追加されたりするため、コンパイル時には解決できず、自身でdllを動的にロードする方法をとらざるを得ないでしょう。

ロードさえ出来てしまえば、後は普通にインスタンス作って表示してあげる(Control.Show() or Control.Visible)だけ。

ということで、後は過去ログに丸投げ
DLLを動的に使いたい(atmarkit.co.jp)
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2007-11-21 13:07
引用:

どんぐりさんの書き込み (2007-11-21 12:57) より:

http://msdn2.microsoft.com/ja-jp/library/xc3tc5xx(VS.80).aspx
ここ参考にmageUI.exeを試してみました。
binフォルダにA、Bと2つのexeを置いてmageUI.exeを実行します。
作られた発行ファイルを実行してもAだけしかダウンロードされなくて。



おっかしいな〜?
アプリケーションマニフェスト(.manifestファイル)に2つのexeを記述してますよね?
もしくは、バージョン番号を更新してますよね?

これぐらいしか思い浮かばない。
ヨーキー
会議室デビュー日: 2007/11/20
投稿数: 16
投稿日時: 2007-11-21 13:24
populateを押して複数exeが含まれるフォルダを選択しました。

[Populate] をクリックし、アプリケーション ファイルすべてをファイル リストに追加します。アプリケーションに実行可能ファイルが複数含まれている場合は、[File Type] ボックスの [Entry Point] をオンにして、この配置のメイン実行可能ファイルをスタートアップ アプリケーションとして指定します。

そしてAをEntry Pointオンにしました。
これが不味かったですか?

参照設定にプロジェクトが追加できるとは知りませんでした。
かずくんさんの参考を元に頑張ってみます。ありがとうございます。

[ メッセージ編集済み 編集者: どんぐり 編集日時 2007-11-21 17:45 ]

a.exeからb.exe、c.exeを呼ぶ為2つを参照設定にプロジェクト追加。

起動の記述は以下の通り。
Dim hProcess As System.Diagnostics.Process = System.Diagnostics.Process.Start("b.exe")
hProcess.WaitForExit()

aを発行元にして全く環境がないPCにインストールさせてみました。
上手くaからb、cを呼ぶ事に成功!かずくんさんに報告します【解決】

[ メッセージ編集済み 編集者: どんぐり 編集日時 2007-11-27 17:45 ]
1

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