DOBON.NET DOBON.NETプログラミング掲示板過去ログ

VS 2005でアプリを一般に公開する方法

環境/言語:[Windows98, XP、その他一般OS]
分類:[.NET]

こんにちは @開発社です。
宜しくお願いします。

VS 2005 Express Edition(VB)
で作成したアプリケーションを広く一般に公開するに当たり
使用者側で
Microsoft .NET Framework Version 2.0 再頒布可能パッケージ (x86)
http://www.microsoft.com/japan/msdn/netframework/downloads/
が必要になります。そしてこれのOSが下記(参考)のように、最新に
アップデート済みのOSで無ければ使用できないのです。
さらにWindows Installer 3.0 が無ければ 再頒布可能パッケージ (x86)
をインストールする事も出来ません。これでは広く一般に公開することは出来ず
対象がパソコンに詳しい特定のユーザーに限定されてしまいます。

これと比較してVS2002、VS2003 ではOSの制限がなく
簡単に.NET Framework 1.1 再頒布パッケージをインストールできました。

VS2002、VS2003 のようにOSに関係なく 再頒布可能パッケージ (x86)
をインストールできる方法を教えて下さい。
宜しくお願いします。





(参考) 以下 MSDN より抜粋

http://www.microsoft.com/downloads/details.aspx?FamilyId=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=ja

*** 必要システム ****
サポートされているオペレーティング システム : Windows 2000 Service Pack 3; Windows 98; Windows 98 Second Edition; Windows ME; Windows Server 2003; Windows XP Service Pack 2

必要なソフトウェア:
Windows Installer 3.0 (Windows Installer 2.0 またはそれ以降を必要とする Windows 98/ME は除きます) : Windows Installer 3.1 またはそれ以降を推奨します。

IE 5.01 またはそれ以降: .NET Framework をインストールするには、Microsoft Internet Explorer 5.01 またはそれ以降をインストールしておく必要があります。
多分無理でしょう。
「必要な〜」の「必要」をどのように理解されていますか?
この場合、.NET FrameWork 2.0が動作するために「必要」です。
これが満たされなければ、その上で動くプログラムはどんなに簡単なプログラムでも動作しません。
アプリケーションをインストールする前に、.NET Framework 2.0やWindows Installer 3.0等のインストールが必要であれば事前にインストールする方法ということであれば、私のサイトの下記リンク先のdotNetInstallerに関する記述をご覧ください。

DOBON.NET .NET Tips - インストール前に.NET Frameworkをインストールする
http://dobon.net/vb/dotnet/deployment/dotnetbootstrap.html
おはよう ございます。お世話になります。

VS2002、VS2003 で開発したアプリはWindow,Mac で動作し、
Windows 98,2000,xp のOSバージョンに依存しませんでした。
それはFramework 1.1 再頒布パッケージがどのOSバージョンにでも
インストールできるからです。(Javaを意識している?)
ですので私は .Net で開発する事にしました。
ところが VS 2005 Express Edition(VB) では違います。

ここでPCに詳しくないユーザーの立場になって考えます。
OSがWindows 98,2000,xp の最新バージョンかどうか不明です。
とりあえずアプリをインストールしますが動作しないので、開発側に問い合わせ
殺到です。
OSのバージョンは?、 .NET Framework Version 2.0 の
インストール方法は・・、最後にOSのバージョンUpでパソコンが動作しなくなった。
どうしてくれる。・・・ が落ちだと思います。
つまり迂闊に回答できず、アプリは使用できません。と回答するのが無難です。

話が戻りますが Framework 1.1 はWindows 98 の最初のバージョンでも
インストールできました。

中博俊さんの回答通りならば
>多分無理でしょう。

様々なOSを使用している不特定のユーザーのアプリ作成にはVS 2005 Express Edition(VB)は向いてないと思わざるを得ません。

VS 2005 Express Edition(VB)の長所は色々紹介されていますがこの件に関して述べているのは見かけません。VS2002、VS2003 の後継ソフトですから継承されていて使用者側は、OSバージョンに依存しないと考えるのが普通ではないでしょうか?

#VS 2005 で開発しソースコードをVS2003 でコンパイラし、エラー部分を修正して最終的にVS2003 で開発も考えていますが、実際どうなのかなぁ。
メリットはあるのでしょうか?悩んでいます。

とりあえずあまりにもユーザ視点過ぎます。

アプリケーションを配布する側の立場で何が必要か、何をインストールしておくべきかはいままでのVB6でも.NET1.xでも2.0でも同じです。

どのOSに対応しているか、32bit, 64bitに対応しているかもミドルウェア(まぁ.NETも含んじゃってもいいかもしれません)の裁量です。

Windows Installerの件と、OSの件は微妙に混同されているようですが、同じではありません。
.NET上で動かすアプリケーションを配布する以上.NET2.0が入っているか、同時にインストールを促すかのどちらかでしかありません。

もうちょっと論点を絞りませんか?

OSも、1つ1つにどういう問題を想定しているかを書いてもらわないと・・・
■No14917に返信(@開発社さんの記事)
> ここでPCに詳しくないユーザーの立場になって考えます。
> OSがWindows 98,2000,xp の最新バージョンかどうか不明です。
> とりあえずアプリをインストールしますが動作しないので、開発側に問い合わせ
> 殺到です。

.NET Framework1.1対応のアプリをインストールする際に、.NET Framework 1.1が入ってなければ、入っていないというメッセージが表示され、ダウンロードサイトへ飛ぶURLが表示された気がします。.NET Framework2.0はどうなんでしょう?

でも、アプリによってはDirectXがインストールされていることが条件になったりしますので、これと同じように考えればいいんじゃないでしょうか?
> Windows 98,2000,xp のOSバージョンに依存しませんでした。
> それはFramework 1.1 再頒布パッケージがどのOSバージョンにでも
> インストールできるからです。
>
> 話が戻りますが Framework 1.1 はWindows 98 の最初のバージョンでも
> インストールできました。
>
> 様々なOSを使用している不特定のユーザーのアプリ作成にはVS 2005 Express Edition(VB)は向いてないと思わざるを得ません。

私には勘違いをされているように見受けます。
「できるからです」「できました」とおっしゃっていますが、
それは下記.NET FrameWork 1.1の必要要件を満たしていただけのことです。
http://www.microsoft.com/japan/msdn/netframework/productinfo/sysreqs/default.asp
98が書いてあるから98で動いたんです。
つまり、本来ならその時も配布システムの要件として「Windows98以上が必要です」と明記するのがあなたの立場ではないですか?
2003ではサポートしてた動作環境が2005ではサポートされてない!
進化じゃなくて退化してるじゃないか!
納得遺憾

という事がいいたいのではないでしょうか?
> 2003ではサポートしてた動作環境が2005ではサポートされてない!
> 納得遺憾

もしもそこがポイントなら、それはMicrosoftのライフサイクルにあわせたものですから、こんごも遺憾なく退化するでしょう。
Microsoftより他のそふとはどうでしょうねぇ・・・・
こんにちは 返信有難うございます。

trapemiya さん
>でも、アプリによってはDirectXがインストールされていることが条件になったりしますので、これと同じように考えればいい>んじゃないでしょうか?

NET Framework Version 2.0 自体が使用者側のOSによってインストールできないのです。

まどか さん
>私には勘違いをされているように見受けます。
>「できるからです」「できました」とおっしゃっていますが、
>それは下記.NET FrameWork 1.1の必要要件を満たしていただけのことです。
>http://www.microsoft.com/japan/msdn/netframework/productinfo/sysreqs/default.asp
>98が書いてあるから98で動いたんです。
>つまり、本来ならその時も配布システムの要件として「Windows98以上が必要です」と明記するのがあなたの立場で>はないですか?

確かにその通りですが、私の質問はそのような事では無いのです。
以下例ですのでそれを踏まえて考えて頂きたいのですが
貴方がゲームソフトの社長とします。私が開発者です。
今までOSに関係なく動作するゲームが作成できましたが、今回私が開発ツールを変えたので
購買対象になるユーザーが制限され減少します。
社長は今までと同じソフトで作成しなさい。と言うでしょう。
購買対象のユーザーもOSを変えてまでゲームソフトを買うでしょうか?
今まで作成したソフトは98,Me,2000、xp どれでも使用できます。
それが今回のソフトは98,Me,2000、xpで使用できますが、NET Framework Version 2.0が
インストールできるOSバージョンだけです。と断りですまされるでしょうか?
これは例え話です。貴方の考え方と私の質問の違いです。
.Net は
>それは下記.NET FrameWork 1.1の必要要件を満たしていただけのことです。
ではなく 必要要件を満たすように作られたと私は理解しています。
(これに関しては議論するつもりは有りません)


medakaさん
貴方はどう思いますか?

中博俊さん
>もしもそこがポイントなら、それはMicrosoftのライフサイクルにあわせたものですから、こんごも遺憾なく退化するでしょう>Microsoftより他のそふとはどうでしょうねぇ・・・・

私は.NETだけで他言語は知らないんでなんとも申し上げられないのですが、VS2005 のこの点が不満です。
私の勘違いで実際は問題ないかも。と思って質問した次第です。
とりあえず私が思うに直接Microsoftにクレームとして相談されたらどうでしょうか?
OSがWindows95もサポートしなくてはいけない場合にはVisual Studio 2005を私は使いません。

#その前にそんな仕事はもう請けないでしょうけど

そういうことです。
確かに「考え方」見たいな方向の発言になって行きました。>自分
で、読み返すと「2005を使わない」という答えに傾いていきます。

ところで
ユーザーの視点でということを言われてますが、であれば、
管理人さんの投稿のように必要なものをインストーラに組み込むというお考えはないのでしょうか?
また、示したリンクのように1.1にも2000SP3以上など必要な要件があり、それを満たさないユーザーはソフトを使えなかったはずです。
その当時今回と同じ問題は起こらなかったのでしょうか?
@開発社さんのお気持ちは分かりますが、この掲示板はプログラミングに関する技術的な話題を扱う場所ですので、もしそれ以外の話題を議論したいのであれば、「お気楽掲示板」の方でお願いいたします。

http://dobon.net/cgi-bin/kirakubbs/cbbs.cgi

もし解決したい問題があるのでしたら、何をしたいのかを明確にしてください。例えば、配布するアプリケーションを動かすのに必要なパッケージをはじめにインストールしたいのであれば、私の示したリンク先をご覧ください。もし.NET Framework1.1では動作し、2.0では動作しない環境でVS2005で作成したアプリケーションを使いたいということであれば、あきらめるしかないのではないでしょうか。
■No14953に返信(管理人さんの記事)

管理人様 有難うございます。
私の質問は使用者側で .NET Framework1.1 同様に2.0を全てのOSで動作させる方法です。
配布ファイルの作成方法ではありません。


#お詫び
このスレで 「2.0がインストール出来ない環境がある」という印象を与えてしまいました。
これは私の無知ゆえの勘違いかもしれません。
現時点での私の結論は「どちらともいえない」です。

私の質問の仕方が悪く内容が正確に伝わっていなかった事を
管理人様、まどか様、他の回答者にお詫びします。

ここでスレを閉じます。

皆様有難うございました。

DOBON.NET | プログラミング道 | プログラミング掲示板