- - PR -
.NET Framework用インストーラについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-03-02 17:51
現在インストーラを作成しています。
.NET Frameworkの起動条件プロパティでSupportedRuntimesを設定によって インストールされている.NET Frameworkのバージョンに対応させることが できます。 SupportedRuntimes → 1.1.4322;2.0.50727 そこで質問なのですが、ここで指定する内容は必ずマイナーバージョンまで 記述する必要があるのでしょうか?ワイルドカード的記述は可能でしょうか? そうじゃないとマイナーバージョンの変更があるごとにインストーラを作成 しなおす必要がでてきて面倒ですよね。 また別の質問なのですが、.NET Framework 1.1 と 2.0がインストールされて いる状況で上記のようなインストーラを起動させた場合、.NET Framework 1.1 と2.0のどちらでプログラムが走ることになるのでしょうか? | ||||||||
|
投稿日時: 2006-03-02 18:26
.NET Framework はそうマイナチェンジするわけじゃないので、面倒だとは思いませんが... あとは、レジストリを調べるという手もありますね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-03-03 09:26
そうですか。マイナチェンジが殆ど無いならば問題ないですね。
返答有難うございました。 | ||||||||
|
投稿日時: 2006-03-03 13:20
えっと、マイナーチェンジがあって、SupportedRuntimes を書き換えないとならない となったとしたら、インストール場所も異なるので、別のランタイム扱いになります。 なので、もし出てきたとして、対応するということになればインストーラだけではなく アプリも再チェックしなければなりませんし、それで動作確認しないといけませんし、 app.config が絶対に書き変わることになるので、インストーラはいずれにしても 作り直すことになります。 なので、考える必要もないと思いますよ
どれを優先するかは、app.config の宣言順です。 <startup> <supportedRuntime version="v2.0.50727" /> <supportedRuntime version="v1.1.4322" /> </startup> と書かれていれば 2.0 -> 1.1 の順に検索します。 逆なら 1.1 -> 2.0 になります。 ドキュメントに明記されてますよ。 書いてない場合により上位のバージョンで動くかどうかは、新しい .NET ランタイムの構成次第...ですね _________________ // とっちゃん(高萩 俊行)@わんくま同盟 // とっちゃん’Blog // MS-MVP for Developer Tools - Visual C++ // WindowsInstallerの話題はhttp://www.freeml.com/msiまで | ||||||||
|
投稿日時: 2006-03-03 13:23
「対応させることができる」のではなく、対応するランタイムを限定する方向に働きます。 たとえば、SupportedRuntimes の指定を行っていなければ、1.x アプリは 2.0 ランタイムしかない状況でも動作します。 なので、特別無い理由が無いなら、SupportedRuntimes を指定しない方がよろしいかと。 動作保証云々は書面で指定すればよいことで、新しいバージョンのランタイムで動作確認がとれたら追認するだけでOKになります。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||||||
|
投稿日時: 2006-03-03 14:47
とっちゃんです。
限定されるのは、app.Config の supportedRuntime ではありませんでしたっけ? 設定することで、指定バージョンのみになると記憶していたのですが? (優先順位も設定できるし...) それに対して、インストーラの SupportedRuntimes はインストーラ(正確には 使っているInstallerクラスのカスタム動作)の動作保証バージョンの指定だったと 記憶してるのですが。。。 こちらは、基本的には Installerクラスを安全確実に動かせるバージョンを指定する ためのものなので、条件設定が非常に厳しくなっていると思っていたのですが。 Installerクラスを使っていないのならインストーラ起動時の条件確認を SupportedRuntimes に頼るのではなく MsiNetAssemblySupport プロパティの有無で、条件チェックすることをお勧めします。 ...と書いておきながら、.NET Framework の起動条件をはずすのって出来ないんですね... うーん、やっぱり限定しかないのか?>VSセットアッププロジェクト _________________ // とっちゃん(高萩 俊行)@わんくま同盟 // とっちゃん’Blog // MS-MVP for Developer Tools - Visual C++ // WindowsInstallerの話題はhttp://www.freeml.com/msiまで |
1