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

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

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

Re[13]: インストーラってどのタイミングで作ってる? [1]


(過去ログ 40 を表示中)

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

■21198 / inTopicNo.21)  Re[10]: インストーラってどのタイミングで作ってる?
  
□投稿者/ ネタ好き (498回)-(2008/06/26(Thu) 17:01:33)
No21197 (とっちゃん さん) に返信
今思い出したのですが、確か.NETにはインストーラ作成用APIもありますよね。
その辺の使い勝手はどうでしょうか?
引用返信 編集キー/
■21200 / inTopicNo.22)  Re[11]: インストーラってどのタイミングで作ってる?
□投稿者/ 鶏唐揚 (208回)-(2008/06/26(Thu) 17:34:25)
No21198 (ネタ好き さん) に返信
> ■No21197 (とっちゃん さん) に返信
> 今思い出したのですが、確か.NETにはインストーラ作成用APIもありますよね。
> その辺の使い勝手はどうでしょうか?
そのAPIについては全く知らないのですが、
例えばVB.NETでインストーラ作ったら、そのインストーラを起動するのに.NETFrameworkが必要とか
無限ループしませんかね?w

一時的に必要な.NETFrameworkを展開してインストーラを動かす機構が出来上がるなら
無用な心配ですけど。
引用返信 編集キー/
■21201 / inTopicNo.23)  Re[11]: インストーラってどのタイミングで作ってる?
□投稿者/ とっちゃん (316回)-(2008/06/26(Thu) 17:49:57)
とっちゃん さんの Web サイト
No21198 (ネタ好き さん) に返信
> ■No21197 (とっちゃん さん) に返信
> 今思い出したのですが、確か.NETにはインストーラ作成用APIもありますよね。
> その辺の使い勝手はどうでしょうか?

Installerクラス?それとも、ClickOnce?

前者は、とりあえずとってつけたものです。
まぁないよりはましという程度で捉えておいたほうがいい代物ですね。
こっちは、よりまっとうなものが DTF(Deployment Tools Founcation)という形で存在しています(ただし、ローカルプロジェクトw)。
こちらは、現在WiX(Windows Installer XML toolset というインストーラ作成ツール)との統合が進んでいて
近い将来、統合版がリリースされると思います。

これが出てくると、今まではNativeでしか作ることができなかったカスタムアクションが Managed でも作れるようになります。
ただし、Rosario(次期VSTS)に搭載されるかどうかは不明です(WiXそのものは搭載されているらしいですが、未確認なので不明w)


後者は、.NET Framework という閉じた世界で、現在実行中のユーザー用にアプリをインストールできる仕組みです。
こちらは、あらかじめ .NET Framework(2.0以上)がいないとだめ
という前提条件が付きますが(setup.exeを付けておけば、.NET Framework自身は事前インストール可能)
プロジェクトの構成として用意されているので、単純なプロジェクトなら割と簡単に作れるというメリットがあります。
#ただし、ソリューションを丸ごとではないので、そのためにきちんと構成から考慮していないと悲惨なことになる

出た当初はあちこちで話題になっていて、結構な数の記事も出たんですが...
いま一つ普及には至っていない気がします(単においらの目に見える範囲では存在していないというだけかもしれませんが)。

おそらくは、デフォでWebサーバーがいるというのがあるのと、オフライン配布がことのほか面倒(事実上アップデータが配れない)
というのがあるのかもしれませんが...
もしかしたら、インストールユーザーにしか見えないというのが大きいのかもしれません。

引用返信 編集キー/
■21202 / inTopicNo.24)  Re[12]: インストーラってどのタイミングで作ってる?
□投稿者/ とっちゃん (317回)-(2008/06/26(Thu) 17:55:43)
とっちゃん さんの Web サイト
No21200 (鶏唐揚 さん) に返信
> そのAPIについては全く知らないのですが、
> 例えばVB.NETでインストーラ作ったら、そのインストーラを起動するのに.NETFrameworkが必要とか
> 無限ループしませんかね?w
>
> 一時的に必要な.NETFrameworkを展開してインストーラを動かす機構が出来上がるなら
> 無用な心配ですけど。

あ、書いてる間に...w

えっと、.NET Framework のインストーラはインストーラの中に組み込むことができるようになっていないんですよ。
なので、本体アプリのインストールを行う「前」にインストールするという形をとります。

「事前インストール」とか、「必須コンポーネントのインストール」と呼ばれるものがそれです。
#この形式で入れるもので他に有名なのは、SQL-Server Express Edition があります

この辺は、セットアッププロジェクト(Expressの場合は、ClickOnceでも同様の画面は見れます)で
必須コンポーネントのインストール(だったと思う)を選択すると見れます。

ま、無限ループな部分は存在していて、Installerクラスを使うインストーラを作ってる場合は
絶対に抜かせないように、エンドユーザーを教育しなきゃいけないとか...いろいろあるんですけどねwww
とくに、管理者権限をもってるアカウントユーザーの教育は必須です。
いらねーからとかばっさりやられた日にはもう...www

引用返信 編集キー/
■21204 / inTopicNo.25)  Re[13]: インストーラってどのタイミングで作ってる?
□投稿者/ ネタ好き (499回)-(2008/06/26(Thu) 19:01:33)
No21202 (とっちゃん さん) に返信
丁寧に教えてくれて有難うございます。
MSはInstallerクラスを強化して欲しいですね。
DTF(Deployment Tools Founcation)が楽しみです。
引用返信 編集キー/
■21205 / inTopicNo.26)  Re[8]: インストーラってどのタイミングで作ってる?
□投稿者/ 中 博俊 (2回)-(2008/06/26(Thu) 19:58:21)
中 博俊 さんの Web サイト
>>まず第1に考えるのは資産管理ソフトなどでの配布です。ぎゃくにこれで配布できるようにするために何ができるかなども考えます。
> 今のMS製だと、SMS とかもありますよね?あいつは、msiがベースってのがあるんですけど?

SMSとかMS製は使ったことがないんですが、msiベースにしちゃうと配信サイズとか毎回何を配布するのかとかがややこしいと思います(あくまで思いますベース)

> この辺と、エンタープライズ系との関係って今一つ見えてないんですよねぇ...
> まぁ住んでる世界が違うってのもあるんですけどw

さいきん近辺ではClickOnceを使えないかってな話が多いわけですが、ほとんどつぶしてきました。
結局いろいろ不便すぎなんですよね。
それくらいならすべてワンパッケージにして、ログインスクリプトとかで導入したほうがよっぽどいいんですが、要件で変更のあったファイルだけ配信できることみたいな要件が解決できない。

ノータッチデプロイメントの方がそういう意味では近いんですが、細切れにアセンブリを作るのは今度開発手法的にかなり難しいです。

> このあたりもパッケージングのテクで解決できるといえば解決できる問題。
> でも、そのためにはあの難解で断片的なSDKを読破するくらいの気合いがいるし
> おそらくテクノロジの歴史としてのインストーラも知らないと無理なんだろうな?という気はしますが...

もっとこうMSから語りかけるべきだとは思うんですがね。
とっても重要なことなのに、VSインストーラはあんな感じだし・・・

> この辺は、そのままだわ...厳密名つきのアセンブリを使うのって難しい側面のほうがおおいもんなぁ...
> #ちなみに、Native でも厳密名のついたアセンブリは存在します<WinSxSでは必須

結局参照されたDLLを差し替えるってのができることがDLLの存在意義だって思っている人がいます。
まぁ一理あるわけですけど、いまDLLの存在意義ってプロジェクト構成的なもの以外は持ちたくないんですけどね。

今やってるプロジェクトでも64kとか128Kとかの共用回線の先っていうクライアント端末を想定しなくちゃいけません。
そうなると実装するアプリケーションもゲームなんかと同じでリクエストをまとめたり、同時に取得したりとかそういうのもやるし、圧縮通信なんかもします。
そんな中に全コンパイルした総計5MB(てきとー)のソフトを全クライアントに一括で入れます。バージョンアップ毎です。なんていえないですね。orz

Webでやるよりよっぽど使い勝手はいいはずなんで、クライアントプログラムを積極的に推奨していきたいんですが、まぁまだまだこの辺の問題は解決されていないのがエンタープライズの現状ですね。


引用返信 編集キー/
■21227 / inTopicNo.27)  Re[9]: インストーラってどのタイミングで作ってる?
□投稿者/ とっちゃん (318回)-(2008/06/27(Fri) 12:16:06)
とっちゃん さんの Web サイト
No21205 (中 博俊 さん) に返信
> SMSとかMS製は使ったことがないんですが、msiベースにしちゃうと配信サイズとか毎回何を配布するのかとかがややこしいと思います(あくまで思いますベース)
>
サイズの問題は、インストーラが持つ冗長データ(ファイルをなめずにデータチェックできるようにしてるからね)と
ファイルフォーマット自身の冗長性(ストラクチャードストレージで、エンジンがmdbもどきw)があって
どうしてもでかくなりますね。

まぁ、実行エンジンそのものはOSが持ってるとは言え...ですね。

サイズの問題は、市販パッケージでも、Webでのダウンロード販売ではどうしても引っ掛かります。
たとえ、FTTH で快適だーといっても、100M単位になってくると、さすがに検討しますね。<フリーじゃない分余計に...


> さいきん近辺ではClickOnceを使えないかってな話が多いわけですが、ほとんどつぶしてきました。
> 結局いろいろ不便すぎなんですよね。
> それくらいならすべてワンパッケージにして、ログインスクリプトとかで導入したほうがよっぽどいいんですが、要件で変更のあったファイルだけ配信できることみたいな要件が解決できない。
>
ClickOnceも鳴り物入りで出てきた割には...ですよね。
悪くはないんですが、適用できる範囲ってすごく限られてる気がする。

> ノータッチデプロイメントの方がそういう意味では近いんですが、細切れにアセンブリを作るのは今度開発手法的にかなり難しいです。
>
こっちはこっちで後付け感があるし、もう一段階こなれていかないと難しいのかな?と思います。


> もっとこうMSから語りかけるべきだとは思うんですがね。
> とっても重要なことなのに、VSインストーラはあんな感じだし・・・
>
本国含め、まともな情報はほとんど発信されてません。
回り(その道じゃ有名人な方々)が細々サイト運営してるというのが実情。


> 結局参照されたDLLを差し替えるってのができることがDLLの存在意義だって思っている人がいます。
> まぁ一理あるわけですけど、いまDLLの存在意義ってプロジェクト構成的なもの以外は持ちたくないんですけどね。
>
うちも、年を経るごとにプロジェクトの構成上分割しているだけというDLLが増えています。
完全にプロジェクト依存というものと、汎用的なフレームワークとの二極化が進んでますね。
前者は、EXEに入れちゃってよと思うくらい、べったり。<UI含めw
後者は、完全に汎化が進んじゃってるので、それこそうちのアプリはみんな使ってる状態...

もっとも、どれもみなNativeなので、SxSとかは現状やってませんが(CRTレベルでSxSじゃないからねw)。

> 今やってるプロジェクトでも64kとか128Kとかの共用回線の先っていうクライアント端末を想定しなくちゃいけません。
> そうなると実装するアプリケーションもゲームなんかと同じでリクエストをまとめたり、同時に取得したりとかそういうのもやるし、圧縮通信なんかもします。
> そんな中に全コンパイルした総計5MB(てきとー)のソフトを全クライアントに一括で入れます。バージョンアップ毎です。なんていえないですね。orz
>
この状況で、M単位なファイルの配信はきついですね。
.NET のモジュール自体が100K程度だったとしても、それをインストーラでくるむと(UI抜いても)500Kくらいにはなります。

パッチであれば、本当に差分(オリジナルからの差分)で作れますが、それをやるには
相当高度にバージョン管理ができてないといけないし、配布形体や、配布後の状態すらうまくコントロールができないと
実現できません。
#OfficeがアップデートでCDいらないはずなのにCD要求されちゃうのはコントロールが完璧じゃなかったからだしねw

> Webでやるよりよっぽど使い勝手はいいはずなんで、クライアントプログラムを積極的に推奨していきたいんですが、まぁまだまだこの辺の問題は解決されていないのがエンタープライズの現状ですね。
>
>
うん。クライアントアプリ(スタンドアロンに限らず)のほうが、いろんな意味で便利です。
きちんと作りこんであれば、クライアントリソースは使いたい放題だし(ClickOnceは制約受ける)、
とくに、印刷とかをクライアントでとなると、制御できないWebアプリでは話になりませんからねぇ...w

引用返信 編集キー/

<前の20件
トピック内ページ移動 / << 0 | 1 >>

このトピックに書きこむ

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

管理者用

- Child Tree -