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

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

C# と VB.NET の入門サイト

Re[5]: WPFでインストーラを作成


(過去ログ 63 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■36177 / inTopicNo.1)  WPFでインストーラを作成
  
□投稿者/ パン屋 (1回)-(2009/05/22(Fri) 23:58:58)

分類:[VB.NET/VB2005 以降] 

WPFでちょっとしたインストーラを作ることになったのですが、表現方法で躓きまして・・・。
普通のインストーラは「次へ」ボタンを押すと、ウィンドウのテキスト内容や、インストール先を選択するためのコントロールが表示されると思うのですが、
あれと同じことをWPFで表現したいです。

いろいろとGridで複数区切ったり、ブラウザコントロールと別々に作成されたPageをロードしたりしたのですが、不安定な動作となってしまいます。
Gridは希望ととても近い動きをするのですが、Tabキーを押すとまだ表示されていないコントロールがアクティブになってしまって、予期しない行動をしてしまうことがあります。
GridでTabキーを無視するために、Gridごとに「Visible=Collapsed」でやってみたのですが、「戻る」を押すたびに再度表示設定させてあげないといけない等、作業が増えてしまうので断念しました。
ブラウザとPageの組み合わせでTabキーは解決したのですが、表現にアニメーションを追加するととても面倒な作業+不細工となるので断念。

希望としては、Microsoft Blendのインストーラのような表現をするにはどのように組むのが一番なんでしょうか?
こうすれば近くなるかも!や、こんな技があるよ!など、些細なことでも参考になりますのでよろしくお願いしますm(_ _)m
引用返信 編集キー/
■36180 / inTopicNo.2)  Re[1]: WPFでインストーラを作成
□投稿者/ Azulean (393回)-(2009/05/23(Sat) 08:20:46)
WPF部分は回答できないのですが、気になったので一部分だけ。

No36177 (パン屋 さん) に返信
> WPFでちょっとしたインストーラを作ることになったのですが、表現方法で躓きまして・・・。
WPFを使ったアプリを動かすためには、.NET Framework 3.0以上をインストールする必要があります。(Vistaは標準搭載)
入っていない場合は、その作ったインストーラを起動するために、.NET Frameworkのインストーラを起動する必要があるのでは?

最近はWindows Installerを使うことが推奨されているらしい(注:言い切る自信はない)といったところも気にかかります。
引用返信 編集キー/
■36182 / inTopicNo.3)  Re[2]: WPFでインストーラを作成
□投稿者/ とっちゃん (395回)-(2009/05/23(Sat) 12:05:06)
とっちゃん さんの Web サイト
No36180 (Azulean さん) に返信
>
> 最近はWindows Installerを使うことが推奨されているらしい(注:言い切る自信はない)といったところも気にかかります。
それじゃ、言い切っておきますね。最低限推奨。パッケージベンダーであれば、必須です。
ま、正確には、ClickOnce か Windows Installer のどちらかを使え!ですがね。


さて、本題。
インストーラの部分はまぁ置いておくとして、動作としてはナビゲーションタイプのWPFアプリということですかね。
これだと、Page はあるんですが...ブラウザという部分は、インストーラにするなら使えません。
ブラウザ上でホストされるアプリは、ファイル操作とかの権限が全くというのに近いほどないので、
NavigationWindow などを使った単独アプリ(スタンドアロンアプリケーション)として作る必要があります。

まずは、普通の画面作成から。。。のようですが。
大変かもしれませんが、インストーラという部分を外して、考えればそれほどトリッキーなものじゃないので
情報もたくさんあると思いますよ。

探してみないとわかりませんがw

引用返信 編集キー/
■36183 / inTopicNo.4)  Re[3]: WPFでインストーラを作成
□投稿者/ パン屋 (2回)-(2009/05/23(Sat) 13:40:17)
Azuleanさん、とっちゃんさんありがとうございます!

今回はインストール先の環境はすでに整っているものとしています、
これは元々の環境にWPFのアプリケーションを組み込んでいて、今回入れようとしているのはそれを補助するツールといった形になっているので、環境を気にすることはありません。
ClickOnceやWindows Installerも考えていたのですが、折角の機会なのですべてWPFでやってみようということになりました。
ナビゲーションウィンドウも試したのですが、ページを移動する際、そのページからナビゲーションウィンドウを操作するということが難しいという壁にもぶち当たったり・・・。
あとはタブコントロールをカスタムしてみること位しか思いつかない状況です(失笑
引用返信 編集キー/
■36186 / inTopicNo.5)  Re[4]: WPFでインストーラを作成
□投稿者/ とっちゃん (396回)-(2009/05/23(Sat) 15:52:00)
とっちゃん さんの Web サイト
No36183 (パン屋 さん) に返信

> 今回はインストール先の環境はすでに整っているものとしています、
> これは元々の環境にWPFのアプリケーションを組み込んでいて、今回入れようとしているのはそれを補助するツールといった形になっているので、環境を気にすることはありません。
> ClickOnceやWindows Installerも考えていたのですが、折角の機会なのですべてWPFでやってみようということになりました。

んと。。。WPFはUIだけではなく、インストールエンジン「も」ですか?
今のところこっちははまってないみたいなので、大丈夫なのかな?


> ナビゲーションウィンドウも試したのですが、ページを移動する際、そのページからナビゲーションウィンドウを操作するということが難しいという壁にもぶち当たったり・・・。
> あとはタブコントロールをカスタムしてみること位しか思いつかない状況です(失笑

ナビゲーションウィンドウを操作する必要があるんですか?
何かするとページが移動するという部分をページの中に組み入れてる?

んーと。。。どういうことがやりたいのか(○○のようなではなく)をきっちりと書くとよいかと。

ちなみに、普通のインストーラと同じであれば、動きをよーく見極めて(Spy++とか使って)調べてみてはいかがですか?
その程度ならリバースエンジニアリングとは言われませんよ。

ちなみに、WindowsInstaller の標準UIでは、別ウィンドウに移動するボタンを押すと新しいウィンドウを丸ごと作ってます。

引用返信 編集キー/
■36189 / inTopicNo.6)  Re[5]: WPFでインストーラを作成
□投稿者/ かずき (34回)-(2009/05/23(Sat) 17:27:30)
かずき さんの Web サイト
ウィザードをWPFで作りたいけどうまいやりかたがわからないってことかな?

ページ1 ページ2 ページ3それぞれに対応するユーザコントロールを作って
下みたいにWindowのどっかにContentControlでもおいて
<Window>
  <ContentControl Name="page" />
</Window>

page.Content = new ページ1();
とか
page.Content = new ページ2();
とかすればページ切り替えっぽいことはできます。

もっと本格的なやりかただと下のサイトとか参考になると思います。
http://www.codeproject.com/KB/WPF/InternationalizedWizard.aspx

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -