1

現在、Wise Studio 7を使用してインストーラーを保守しています(IS 2012 Springに変更中)。達成しようとしているのは、QAが各ビルド間でMSIパッケージをアップグレードできるようにすることです。ただし、ビルドごとに製品コードやバージョン番号を変更することは望んでいません。PackageCodeでこれは可能だと思いましたが、うまくいかないようです。製品が現在インストールされているというメッセージが表示されます。おそらく、WiseStudioのdllも邪魔になっています。私はそれが何をするのかあまり知りません。シーケンスと条件を変更して、実行されないようにしましたが、出力には影響しません。

現在、ダウングレードを防ぐためにアップグレードテーブルを設定しています。また、アップグレードを許可するように作成しました。パッケージコードを同じに保つと、インストールはメンテナンスモードで実行され、QAはメンテナンスダイアログを使用して以前のインストールをアンインストールします。しかし、これは本当のアップグレードではありません。パッケージコードを変更すると、小さな更新が可能になると思いました。しかし、どうやら私の理解は間違っています。おそらく、それはパッチファイル専用です。

私たちが望むことを達成する方法はありますか?バージョン番号をインクリメントする必要はありません。同社は、インストーラーのバージョンに、ビルドバージョンではなく、アプリケーションのリリース番号を反映させたいと考えています。間違いなく、ビルド間で製品コードGUIDを異なる値に設定する必要はありません。

洞察をありがとう。

編集:私たちは継続的ビルドシステムを持っていることを言及する必要があります。

よろしく、ダン

4

2 に答える 2

2

常にサービス戦略をテストしてください。

主要なアップグレードを顧客に出荷する予定がある場合は、それをテストする必要があります。

マイナー アップグレードを出荷する予定がある場合は、それをテストする必要があります。

「会社」(悪名高い「彼ら」) は ProductCodes に関心を持つべきではありません。彼らは ProductVersion のメジャー部分とマイナー部分に関心を持つことができますが、ビルド部分には関心を持つべきではありません。これらの 2 つのことは、CM / インストール エンジニアリングに予約する必要があります。

于 2013-02-07T14:08:20.197 に答える
1

MSI 自体で考えられるすべての解決策を除外しました。

  • パッケージ コードだけを変更すると、小さな更新の領域に残ります。これにより、実行できる変更が制限され、ビルドが順不同でインストールされた場合に何が起こるかを判断するのが難しくなります (QA スタッフによって。通常、これらのビルドの複数を世界にリリースすることはありません)。
  • 製品のバージョンも変更すると、マイナー アップグレードの領域に入ります。これは推論 (および順序の定義) が容易ですが、ほぼ同じように制限的です。ただし、最初の 3 つのバージョン部分のいずれかを変更する必要があり、それを拒否しました。
  • ビルドごとに製品コードを変更すると、メジャー アップグレードが行われます。これは簡単に推論でき、ほとんどの制限が取り除かれ、以前のものは自動的に取り除かれます。サポートする必要があるシナリオが以前にリリースされたバージョンからのマイナー アップグレードでない限り、これは通常、ここでの私の推奨事項です。

したがって、答えるべき質問は次のとおりです。本当にすべての MSI ベースのソリューションを拒否する必要がありますか? もしそうなら、他のアプローチを提供できますか? たとえば、新しくビルドされたバージョンを起動する前に、古いバージョンを削除するスクリプトまたはバッチ ファイルを実行するよう QA に要求できますか? QA に、仮想マシンを以前のビルドのない状態に戻すように要求できますか?

于 2013-02-07T13:33:39.653 に答える