- - PR -
ClickOnce 複数EXEの更新
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-11-20 18:35
お世話になっております。
@ITさんに既に投稿されてる内容ですが未解決で終わってるので 新たに投稿させて頂きます。 1つのソリューションを作成しそこに複数のプロジェクトを追加していきます。 [ソリューションA] -プロジェクトA -プロジェクトB -dllA ユーザーさんはソリューションAを更新すればすべてのプロジェクトが最新になるように クリックワンスしたいと思うのですが出来ますでしょうか? どんなアドバイスでも参考にさせて頂きますので よろしくお願いします。 環境:XP Professional VS.NET2005 IE7 | ||||
|
投稿日時: 2007-11-21 11:29
EXE を複数ですか?
DLL ではなくて? ジョブ単位でEXEを分けているってことでしょうか? _________________ R・田中一郎 - R.Tanaka.Ichiro’s Blog | ||||
|
投稿日時: 2007-11-21 11:48
返信ありがとうございます。
確かにプロジェクトをDLL化して1つのソリューションにまとめれば良いと アドバイスを受けた事はあります。 ですがWinフォームのプログラムをDLL化するのが分からないです。 プロジェクト単位(ジョブと言うのでしょうか)でEXEを分けてます。 そのジョブ達を1つのソリューションにまとめ、クリックワンスで一括更新 出来ればと考えています。 | ||||
|
投稿日時: 2007-11-21 12:30
過去ログ
clickonceアプリケーションの複数exeについて(atmarkit.co.jp) | ||||
|
投稿日時: 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の本(洋書)があるのでそれを買おうか迷ってます。 | ||||
|
投稿日時: 2007-11-21 12:59
ジョブが固定され後にも先にも増加しないなら、 exeのプロジェクトの参照設定に追加する。 コンパイル時に、dllの参照が解決され、自動的にロードされます。 しかし、おそらく、exeとなるものはジョブのエントリーポイントとなるメニューと思われます。 ということはジョブ数は固定ではないでしょう。 この場合、後で追加されたりするため、コンパイル時には解決できず、自身でdllを動的にロードする方法をとらざるを得ないでしょう。 ロードさえ出来てしまえば、後は普通にインスタンス作って表示してあげる(Control.Show() or Control.Visible)だけ。 ということで、後は過去ログに丸投げ DLLを動的に使いたい(atmarkit.co.jp) | ||||
|
投稿日時: 2007-11-21 13:07
おっかしいな〜? アプリケーションマニフェスト(.manifestファイル)に2つのexeを記述してますよね? もしくは、バージョン番号を更新してますよね? これぐらいしか思い浮かばない。 | ||||
|
投稿日時: 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