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

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

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

Re[5]: インストーラーを作成 再度インストールする時の方法


(過去ログ 122 を表示中)

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

■72836 / inTopicNo.1)  インストーラーを作成 再度インストールする時の方法
  
□投稿者/ 鹿児 (1回)-(2014/07/24(Thu) 12:37:13)

分類:[.NET 全般] 

Visual Studio 2010でc#でプログラムを作っています。初めてのアプリケーション開発だったのですが、ようやく思っているものが作れて、極少人数の人達に配布しようと思っています。

インストーラーもよくわからなかったのですが、Visual Studioインストーラーについて説明してあるサイトがあったので、参考にしてインストーラーを無事に作成する事ができました。

できあがったものが「my_application.msi」というもので、配布して各個人のPCにインストールしてもらいました。

その後、アプリケーションに一部バグがあったので、新しくビルドしたものを、Visual Studioインストーラーを再度使い配布を行ないました。

各人がインストールしようとすると、
「別のバージョンの製品が既にインストールされています。このバージョンのインストールを続行できません。」というメッセージが出てきて、一度アンインストールしないと再度インストールすることができませんでした。

質問1
再度インストールする時に、コントロールパネルの「プログラムの追加と削除」からアンインストールして、インストールしなおすのではなく、インストール時に既にインストールされていれば「削除」という項目をだして、ユーザーに削除を選ばせ、再度インストールするといった事はVisual Studioインストーラーでは可能でしょうか?

質問2
Visual Studioインストーラーは既に配布終了したとのことで、質問1のような事をおこなうには、InstallShield Limited Editionで可能でしょうか?

ちなみにインストーラーについては、下記のURLを見て勉強しました。
引用返信 編集キー/
■72837 / inTopicNo.2)  Re[1]: インストーラーを作成 再度インストールする時の方法
□投稿者/ とっちゃん (249回)-(2014/07/24(Thu) 13:36:45)
とっちゃん さんの Web サイト
No72836 (鹿児 さん) に返信
> 各人がインストールしようとすると、
> 「別のバージョンの製品が既にインストールされています。このバージョンのインストールを続行できません。」というメッセージが出てきて、一度アンインストールしないと再度インストールすることができませんでした。
>
この表示が出るということは、インストーラのバージョンなどをアップしていないことが原因だと考えられます(直接的な原因はほかにあります)。

まず、質問に答える前に以下の部分を再確認してください。

1.EXEのファイルバージョンを適切に更新しているか?
VS2010の場合、標準設定のままでは、バージョンは固定されています(1.0.0.0だったと思います)。
アプリケーションは、自身の開発環境の外に出る瞬間から適切なバージョン管理が行われていなければなりません。
開発でよく言われるバージョン管理は、ソースコードの管理の話でアプリケーションリリースとは次元軸の異なる世界の話です。
言ってみれば鏡のこちら側と向こう側くらいの違いがあります。

まず、この部分が適切に行われているかをきちんと確認してください。
バージョン番号の設定方法等については、とりあえず割愛。

2.インストーラのバージョンを適切に更新しているか?
EXEとは別にインストーラもアプリケーションですので、バージョン管理が必要です。
MSIもバージョンを管理する場所がありますので(セットアッププロジェクトのプロパティにあります)、
そこで、EXEと同一あるいは、EXEとは別に独自に管理する必要があります。



> 質問1
> 再度インストールする時に、コントロールパネルの「プログラムの追加と削除」からアンインストールして、インストールしなおすのではなく、インストール時に既にインストールされていれば「削除」という項目をだして、ユーザーに削除を選ばせ、再度インストールするといった事はVisual Studioインストーラーでは可能でしょうか?
>
MSIのバージョンを更新すると自動的に、上書きインストールする設定が行われるようになっています(そうしない選択肢もあります)。
こちらが正しく設定されていれば、新しいバージョンのインストーラを実行したときに古いバージョンのインストーラを削除してくれます。


> 質問2
> Visual Studioインストーラーは既に配布終了したとのことで、質問1のような事をおこなうには、InstallShield Limited Editionで可能でしょうか?
>
VS2010を使っている限りにおいては、インストーラは添付されたままとなっていますので心配する必要はありません。
ただし、VS2012/2013 にはついていませんので、VSのバージョンをアップした時にはインストーラを変更するか、
VSの拡張機能で新たに配布されるようになったインストーラプロジェクト(VS2010までのセットアッププロジェクトと同様のものだそうですが、開発画面はすべて英語です)を
利用するかという選択肢になります。

漏れ聞こえる使用感から、VS2010までのものと同じ(ただし開発UIは英語)のようです。


> ちなみにインストーラーについては、下記のURLを見て勉強しました。
書かれてませんがどこでしょう?

引用返信 編集キー/
■72852 / inTopicNo.3)  Re[2]: インストーラーを作成 再度インストールする時の方法
□投稿者/ 鹿児 (2回)-(2014/07/25(Fri) 20:47:54)
とっちゃんさん

ご回答ありがとうございます!

勉強したリンクを書き忘れていました、申し訳ありません。
http://www.atmarkit.co.jp/fdotnet/chushin/introwinform_12/introwinform_12_01.html

お教え頂きました、ファイルバージョンの更新、インストーラーのバージョンの更新は何のことかわかりませんでした。なので、おこなっていません・・・

私は下記の方法でインストーラーを作成しました。

0. 既に作成中のプロジェクトをビルドして、\bin\releaseにexeファイルが作成される。
1. 0.とは別にVisual Studioの新しいプロジェクトの作成から、「セットアップと配置」、「Visual Studioインストーラー」、からセットアッププロジェクトを選択。

2. アプリケーションフォルダーに対し、追加⇒ファイルで対象のexeを選択します。
3. そうすると、exeに紐付いたDLLが追加されます。
4. この状態でビルドをすると、\release\にmyApplication.msiとmyApplication.exeの2つができあがります。
5. このmsiファイルを配布しています。
6. アプリケーションのバグがあったら、0.のプロジェクトで修正を行ない、ビルドしてexeファイルを作成します。
7. 1.で作成したプロジェクトを開く。2.で追加したexeを削除する。新たに、追加⇒ファイルからビルドしなおしたexeを選択。
8. ビルドしなおし、myApplication.msi、myApplication.exeの2つができるので、msiファイルを配布。

以上のやり方でmsiファイルを作って配布しています。よって、ファイルバージョンの更新やインストーラーのバージョンの更新はなんのことかわかりませんでした・・・こちら調べなおして勉強したいと思います。

質問2については、とうぶんVS2010から変更する予定がないので、とりあえず心配不要ですね。VSをバージョンアップした時に、拡張機能について勉強したいと思います。

ご回答頂きありがとうございました。
引用返信 編集キー/
■72853 / inTopicNo.4)  Re[3]: インストーラーを作成 再度インストールする時の方法
□投稿者/ 鹿児 (3回)-(2014/07/26(Sat) 00:36:35)
私がインストーラーを作成した方法は下記のURLにあるような方法で作成しました。

http://akabanessa.blogspot.jp/2008/05/visual-studio.html


引用返信 編集キー/
■72857 / inTopicNo.5)  Re[3]: インストーラーを作成 再度インストールする時の方法
□投稿者/ みい (12回)-(2014/07/28(Mon) 13:29:36)
No72852 (鹿児 さん) に返信
> 勉強したリンクを書き忘れていました、申し訳ありません。
> http://www.atmarkit.co.jp/fdotnet/chushin/introwinform_12/introwinform_12_01.html
リンク先図7の下部にある「Version」がインストーラのバージョンになります。
インストーラを作り直す時にこのバージョンを変えないと「同じバージョンでインストール済」
の認識になります。
引用返信 編集キー/
■72858 / inTopicNo.6)  Re[4]: インストーラーを作成 再度インストールする時の方法
□投稿者/ コージー (1回)-(2014/07/28(Mon) 14:32:20)
ちなみに、インストーラーのバージョン判断による旧版の自動削除を行うためには、
Setupプロジェクトの「RemovePreviousVersions」プロパティをTrueにする必要があります。

※以下サイトの図7を参照
>http://www.atmarkit.co.jp/fdotnet/chushin/introwinform_12/introwinform_12_01.html

このプロパティのデフォルトはFalseかも知れないので、確認してみてください。
引用返信 編集キー/
■72879 / inTopicNo.7)  Re[5]: インストーラーを作成 再度インストールする時の方法
□投稿者/ 鹿児 (4回)-(2014/07/30(Wed) 13:29:52)
みいさん、コージーさん

Versionを1.0.0から1.0.1に変更したら、「バージョンを変更する場合は、ProductCodeの変更をお勧めします。実行しますか?」

というメッセージが出てきましたので、「はい」を押しました。

コージーさんから教えて頂きました、RemovePreviousVersionsのプロパティもTrueに変更して、リビルドをかけて実行ファイルを作成。

実行をおこなったら、見事に旧バージョンが消されて新しいものがインストールされました。

目からウロコです。助かりました、皆様助けて頂きありがとうございました。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -