dポイントプレゼントキャンペーン実施中!

お世話になっております。

アプリケーションのインストールに関して調べていたところ「メジャーアップグレード」や「マイナーアップグレード」という言葉が出てきまして、これらについて確認していたのですが、「メジャーアップグレード」について、サイトによって「古いバージョンを削除する」「古いバージョンを削除しない(共存する)」と記述がまちまちでした。
メジャーアップグレードの挙動に関しては、(質問1)古いバージョンを削除する or しない、どちらが正しいのでしょうか?
また、(質問2)古いバージョンを削除する、またはしないという2つの矛盾する説がWeb上に存在するのはなぜですか?

大体の用語に関しては検索すると矛盾する意見がないか、もしくはあるとしてなぜ矛盾するに至ったのかがわかるようになっているのですが、これに関してはわかりませんでした。
質問2についてはなぜこのような状況になっているのでしょうか。
もしかすると、「メジャーアップグレード」という言葉は一定の定義を持たない、なにかインストーラツールごとに別々の意味を持つ(=古いバージョンを削除したり、しなかったりする)言葉なのでしょうか?
それか、たとえばWindows Installerに対して用いられる言葉として扱った場合でも、現在のメジャーアップグレードの挙動とより古いバージョンにおける挙動が異なる、などのことなのでしょうか?
少なくともMSDNにおいては、メジャーアップグレードでは古いバージョンを削除する、という記述が載っていました。

どうぞご教示の方よろしくお願いいたします。

質問者からの補足コメント

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

    > モノによっては削除せずにアプグレ出来ます。
    例えば、Windows Installerの場合は「メジャーアップグレード」の定義が「旧バージョンを削除する」であり、Install Shieldの場合は「旧バージョンを削除しない」である(一例です)というように、開発ツールによって言葉の定義が異なるということですか?

    > どっちでもいいから。
    →私の書き方が悪くすみません。各サイトでは「旧バージョンを削除する、しないのどちらかを選べます」という記述ではなく、(メジャーアップグレードでは)「旧バージョンを削除します」または「削除しません」のどちらかの記述が採用されています。
    「どっちでもいい」から矛盾する記述があるというより、各サイト見解がどちらか一方に分かれているようです。これを前提とし、見解が分かれている理由に思い当たるものがございましたら教えて下さい。

    No.2の回答に寄せられた補足コメントです。 補足日時:2020/04/13 16:02
  • 本当にすみません!この質問なんですが、アプリケーションをインストールする人間としてではなく、開発する側の人間として質問しています。MSDNを見ると「メジャーアップグレードでは旧バージョンを削除します」と書いてあるのに、そのほかの記述やその他関係者は「メジャーアップグレードでは旧バージョンを削除しない」と言っていて、この言葉の定義はどちらが正しいのか(あるいはどちらも正しい(=複数の意味を持つ言葉であり定義不可能)のか)を確認したく質問しておりました。

      補足日時:2020/04/13 16:06
  • naktak様

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

    > どちらでもありません。

    では、MSDN等各開発情報サイトで(特定のアプリケーションに対してではなくメジャーアップグレードという言葉の意味について)「旧バージョンを削除します」(or 削除しません)と断定して書いてあるのは、使用するインストーラ開発ツールによりこの動作が違うため、なのでしょうか?

    > 消すものもあれば残るものもあるからでしょうね。

    これは、例えばWindows Installerの場合はメジャーアップグレード=旧バージョンを削除するもの、Install Shieldの場合はメジャーアップグレード=旧バージョンを削除しないもの(すみません、Install Shieldの仕様わかりません)などと開発ツールによって挙動が分かれるため、ということですか?

    No.3の回答に寄せられた補足コメントです。 補足日時:2020/04/13 16:11
  • かわごえ様
    何度もお手数おかけしてすみません、ありがとうございます。
    少なくともMicrosoft は Windows Installer におけるメジャーアップグレードでは「旧バージョンを削除します」と言っています(https://docs.microsoft.com/en-us/windows/win32/m …が、これはWindows Installerだけの挙動であり他の開発ツールやインターネットで共通認識としては通じないということでしょうか?(例えば、お客さんとお話をするときに「次のバージョンはメジャーアップグレードにしてください」と言われたら当然旧バージョンをどうするか確認するべき(=それだけメジャーアップグレードという言葉は不確定な言葉であるということ)でしょうか?

    No.4の回答に寄せられた補足コメントです。 補足日時:2020/04/13 16:23
  • うれしい

    みなさま
    大変ご親切にご回答いただき、誠にありがとうございました。
    以下のことであると理解しました:

    各サイトで断定されているメジャーアップグレードの定義は
    ・インストーラ開発ツールについて記載されている場合、そのインストーラ開発ツールにおける挙動の定義である。
    ・あるアプリケーションのアップグレード内容について記載されている場合、そのアプリケーションが規定する動作の定義である。
    ・言葉の意味として包括的に記載されている場合、その記述者は無意識になんらかの環境に限った場合の意味を記述している。

    長くなりましたがお世話になりまして、ありがとうございました。

      補足日時:2020/04/13 17:15

A 回答 (6件)

開発側の考えならば、開発元としてアプリケーションのアップグレードとしてどう振る舞うか、じゃないですかね。


共存されては困るのか、共存されないと困るのか。
アップグレードという言葉はこうあるべき、という定義はありません。

もし決め打ちした表現があるとしたら、それは環境も決め打ちしたものでしょう。
人によって考えてる環境が違うから、そりゃ見解も違う、ということになります。

メジャーバージョンを変えたりGUIDを変えたりすればインストーラーによって動作が変わります。
全く別製品という扱いか、同一製品のアップデートか。
    • good
    • 0
この回答へのお礼

補足に関しましてもご回答いただき、誠にありがとうございました。ようやく正しく理解できたような気がします。本当はみなさまをベストアンサーにしたいのですが、一番文量を書いてくださったnaktak様をベストアンサーにさせていただきます。ご親切にありがとうございました。

お礼日時:2020/04/13 17:16

メジャーアップグレード、マイナーアップグレードの違いについての定義は無いので、開発者サイドで何らかの基準を決めてそう言っているだけです。

違いは個々のソフトの開発者に聞いて下さい。
前バージョンのアンインストールが必要かどうかは、プログラム次第なので、これも開発者の都合次第です。
一度アンインストールしてインストールする作りにすると、後半のインストール部分は全くの新規インストールと同じ処理で良いので、開発が楽だと思います。
バージョンアップは全て内部的にアンインストール&インストールになっているソフトはあります。また、単に上書きインストールするだけで、新バージョンでは不要なファイルの削除をしないソフトもあります。


あなたが開発者と言うことですが、あなたが好きに勝手に決めてかまいません。
依頼を受けて開発しているなら、依頼者が好きに決めてかまいません。
    • good
    • 0
この回答へのお礼

頂いたご回答が他の皆様と同じであることを見て安心いたしました。本当はみなさまをベストアンサーにしたいのですが、一番文量を書いてくださったnaktak様をベストアンサーにさせていただきました。また次回がございましたら改めてお礼申し上げます。ご親切にありがとうございました。

お礼日時:2020/04/13 17:18

>見解が分かれている理由


アプリによりけりだから
定義に含まれない部分だと思います
この回答への補足あり
    • good
    • 0
この回答へのお礼

補足に関しましてもご回答いただき、誠にありがとうございました。ようやく正しく理解できたような気がします。本当はみなさまをベストアンサーにしたいのですが、一番文量を書いてくださったnaktak様をベストアンサーにさせていただきました。また次回がございましたら改めてお礼申し上げます。ご親切にありがとうございました。

お礼日時:2020/04/13 17:17

> (質問1)古いバージョンを削除する or しない、どちらが正しいのでしょうか?


どちらでもありません。

> (質問2)古いバージョンを削除する、またはしないという2つの矛盾する説がWeb上に存
> 在するのはなぜですか?
消すものもあれば残るものもあるからでしょうね。

そもそもアプリケーションのメジャーバージョンというのは、アプリケーション全体の仕様が大幅に変更されたものという位置づけになります。
WindowsやOfficeのバージョンのように。
規模によってはマイナーバージョンというものも存在します。
アプリケーションの仕様の変更によって旧バージョンとの互換性が失われる場合もあります。

そしてアップグレードという言葉自体は、そのマイナーバージョンやメジャーバージョンを上げる場合に使われます。

ここで、最低でも恐らく下記4つのパターンがあります。
 1.インストール済みのアプリケーションの動作としてアップグレードが行う場合
    十中八九、新バージョンに差し替わります。

 2.旧バージョンがインストールされていることを前提してアプリケーションを
   インストール(アップグレード)する場合
    十中八九、過去バージョンが消えて新バージョンに差し替わります。

 3.旧バージョンのプロダクトキーを利用してアプリケーションをインストール
   する場合
    旧バージョンがインストールされていても関係なく新たなアプリケーションとして
    インストールされる場合と、旧バージョンが入っていることによってインストール
    が継続できない場合、旧バージョンを新バージョンに差し替える場合の
    3パターンがありえるでしょう。

 4.別なアプリケーションとして新たにインストールする場合
    インストールディレクトリがバージョンごとに切り分けられているものなら、
    旧バージョンは関係なく新たにインストールされるでしょう。
    そうでなければ、無視してインストールされて旧バージョンを壊しながら
    新バージョンとなる場合と、旧バージョンが入っていることによってインストール
    が継続できない場合、旧バージョンを新バージョンに差し替える場合の
    3パターンがありえるでしょう。

つまり、メジャーアップグレードだからといって、アンインストールされるのか共存されるのかというのは別問題であり、アプリケーションごとの仕組みと実際のインストールの仕方によって異なるものです。
この回答への補足あり
    • good
    • 0

>(質問1)古いバージョンを削除する or しない


モノによっては削除せずにアプグレ出来ます。

>(質問2)古いバージョンを削除する、またはしないと
どっちでもいいから。

もちろん、共存不可で旧Verを削除しなければ動作しない
もしくは不安定なアプリケーションってのはあります。
要するにそのアプリによりけり。
この回答への補足あり
    • good
    • 0

マイクロソフトの場合アプリケーションはDLLというものからできています。

これは単一のプログラムソースではありませんのでその辺の解釈が異なっているからでしょう。
DLLとは→https://support.microsoft.com/ja-jp/help/815065/ …
    • good
    • 0
この回答へのお礼

すみません…ちょっとよく理解できなかったです(dllを含まないアプリケーションもあるでしょうし、また「そのへんの解釈」というのが「どう異なって」メジャーアップグレードという言葉の定義差異に影響しているかもわかりませんでした)。ここまでお礼できずすみませんでした。ご回答頂きありがとうございました。

お礼日時:2020/04/13 17:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!