1.7.211から1.7.212に移行する際にインストーラがマイナーアップグレードを実行していますが、常にメジャーアップグレードを実行したいと考えています。新しいインストーラは、以前のインストーラがインストールしたすべてのものを例外なく上書きします。これを実現するためにinstallshieldプロジェクトを変更する方法はありますか?Installshield 2012で大規模なアップグレードを実行するにはどうすればよいですか?
答えて
基本的なMSIまたはInstallScript MSIプロジェクトタイプを使用していると仮定します。すべてのリリースで、メジャーアップグレードを実行するために必要な手順を実行する必要があります(正確には、これはInstallShieldルールではなくMSI ruleです)。
InstallShieldプロジェクトで、[アップグレード]ビューでメジャーアップグレードを作成します。これを設定するときは、「以前のバージョン」と言う必要があります。
リリースごとに、バージョン番号(最初の3桁の数字の1つ、MSIが4番目の数字を無視する)と製品コードGUIDを増やす必要があります。
「新しいインストーラは、以前のインストーラがインストールしたすべてのものを、常に例外なく上書きする必要があります」というステートメントには同意しません。リリース間で変更されたファイルのみを更新することが最優先事項である場合、多くの展開モデルがあります。そのモデルが現在あなたのために働くならば、素晴らしいです。マイナーチェンジとパッチのアップグレードの可能性と、それらのリリース計画のようなものを見てください。
なぜ製品コードGUIDに触れなければならないのですか? 「以前のバージョン」でそれを処理すべきではありませんか?それをバージョン番号に直接結びつける方法はありますか?それで、新しいビルドが作成されたときには、それは自動的に行われますか? – ChopperCharles
メジャーアップグレードが必要な場合は、製品コードGUIDをロールバックする必要があります。これはMSIの仕組みの一部です。すべてのビルドでプロダクトGUIDをロールバックする必要はありません。すべてのRELEASEはOKです。私は、すべてのリリースで大規模なアップグレードを自動強制することは再検討するべきことであることを繰り返し述べたい。 –
MSIプロジェクトの場合、「アップグレード」領域(「メディア」の下)に移動します。 'upgrade windows installer setup'で新しいメジャーアップグレードアイテムを作成します。そのアイテムについては、[特定のバージョンの範囲内]を選択し、最大バージョンを現在のバージョンより大きいバージョン番号(たとえば、あなたのケースでは1.8)に設定します。
Windowsインストーラがアップグレードモードで実行されることを検出すると、現在インストールされているバージョン(1.7.11)がメジャーアップグレードルールに適用され、メジャーアップグレードが実行されます。
- 1. データベースの大規模な更新を効率的に行うにはどうすればよいですか?
- 2. バッチで大規模な実行を実行する
- 3. jqueryベースの大規模なWebサイトを構築するにはどうすればよいですか?
- 4. 大規模なアプリケーションの自動テストを開始するにはどうすればよいですか?
- 5. iPhoneで大規模なUTF-8ファイルを読むにはどうすればよいですか?
- 6. 複数のサーバーで大規模なWebアプリケーションを構成するにはどうすればいいですか
- 7. InstallShield 2012 Expressで[シングルユーザーインストール]チェックボックスを表示するにはどうすればよいですか?
- 8. Eloquentを使用して大規模データセットを処理するにはどうすればよいですか?
- 9. 大規模なクエリを実行し、Oracleで行を返す
- 10. testng.xmlを使用して大規模なTestNGスイートから1つのテストを実行するにはどうすればよいですか?
- 11. 大規模なRailsアプリケーションをどのように整理するのですか?
- 12. MySQL - 大規模なクエリを実行するには?
- 13. ロールバック中にInstallShieldカスタムアクションを実行するにはどうすればよいですか?
- 14. installshieldでSetupProgressダイアログをカスタマイズするにはどうすればよいですか?
- 15. UIRemoteNotificationTypeAlertは廃止されました。大規模なチームでUIUserNotificationTypeAlertに移行するにはどうすればよいですか?
- 16. 大規模なSQLスクリプトを実行
- 17. Firebirdのコマンドラインアンインストールを実行するにはどうすればよいですか?
- 18. Innoセットアップインストール中に大規模なSQLスクリプトファイルを実行する
- 19. Windowsで大きなページでアプリを実行するにはどうすればよいですか?
- 20. インデックスジョブで同時に大きなクエリを実行するにはどうすればよいですか?
- 21. notepad ++で非貪欲な正規表現クエリを実行するにはどうすればよいですか?
- 22. 大規模でAzureで実行されるサイトの例ですか?
- 23. ライブデータベースで大きなアップデートを実行するにはどうすればよいですか?
- 24. 大きなテーブルのデータだけでboxplotを実行するにはどうすればよいですか?
- 25. 大規模なmysqlテーブル内で低セキュリティで1つの列をエンコードし、それを逆にするにはどうすればよいですか?
- 26. 大規模な投票スキーマ:あなたはどのようにしますか?
- 27. SQL Server 2012で小規模から大規模に成長する - コードと価格が賢明
- 28. SQL Server 2012で毎週最大レコードを取得するにはどうすればよいですか?
- 29. Wixを使用して "セカンダリ"実行可能ファイルをアップグレードするにはどうすればよいですか?
- 30. エンティティフレームワーク:大規模なクエリを実行する
どのプロジェクトタイプですか? MSIまたは非MSI? BasicまたはInstallScript? – yossiz74
msiタイプだと思います。 (.exeと.msiの両方が生成され、.exeはインストールプロセスの一部としてmsiを抽出します)、それが基本かinstallscriptかはわかりません。私は基本的に決してマイナーアップデートをしたくない。私はそれが大きなアップデートを構成するためにバージョン番号の変更を考慮したい。 – ChopperCharles