初めてInstallShield MSIインストーラのマイナーアップグレード(これは正しい用語だと思います)で問題が発生しています。以前に何度も行ったことと同じように、「製品バージョン」を「2.0.12」から「2.0.13」に設定し、コンポーネントファイル/アセンブリバージョンを「2016.12.19.1415」から「2017.1」に更新しました.30.1037 "。ただし、アップグレードを実行すると、コンポーネントは2016バージョンから2017バージョンにアップグレードされません。私はMSIログから得としてInstallShield MSIのアップグレードでファイルが更新されない
以下成分に関する限り多くの情報がある:
MSI(S)(4C:10)[16:848:01:32]:コンポーネント:EAS.Common.SignalR .Client.dll;インストール済み:ローカル。リクエスト:Null。処置:Null
編集:以前のバージョンのインストーラに戻って更新を追加しました。アップグレードが正しく機能するようになりました。だから私はそれが私が追加した新しいコンポーネントと関係があると思う。
問題は、以前のインストールで存在していたコンポーネントを削除したことでした。コンポーネントに「1 = 0」という条件を設定し、それを「DONOTDELETE_ {name}」という名前に変更しました。 –
コンポーネントの名前を変更する場合は注意が必要です。 MSIはプライマリキーの変更が本当に好きではありません。 MSI < 4.5. For > = 4.5を使用している場合は、MSIUNINSTALLSUPERSEDEDCOMPONENTSで読み上げると、Transitive Componentビットを使用して「パンクチャリング」コンポーネントを読むことをお勧めします。 http://stackoverflow.com/questions/23102970/remove-file-during-minor-upgrade –
コンポーネントやその他の主キーの名前変更に関する警告:https://blogs.msdn.microsoft.com/windows_installer_team/2007/03/07 /任意ラベル - プライマリキーとして使用 - バージョン間で変更する必要はありません/ –