2016-05-27 17 views
0

用のファイルを交換しない、私は1.9.7.5Installshieldの2015:マイナーアップグレード(Update.exeの)Installshieldの2015 Premier Editionのでは一つの特徴

にバージョン1.9.7から私のアプリケーション製品をアップグレードパッチ定義を作成しましたInstallscript MSIプロジェクトでは、パッケージコード、製品バージョンを変更してパッチを作成しました(最新1.9.7.5リリース - 1.9.7リリース)。パッチ(Update.exeのは)管理priviliges(priorlyインストールで1.9.7のリリース)の下で

を実行する

パッチ1.9.7.5は、直接.exeファイルと機能アプリケーションのコンポーネントの.dllファイルを更新するために省略します[INSTALLDIR](ルート:C:¥ProgramFiles¥MYCOMPANY¥MYAPP¥confapp.exe)にインストールしてください。

他のすべてのコンポーネントファイルは尊重されています。 IS2015のインストールアーキテクチャで設計された[INSTALLDIR]のサブディレクトリに配置されています。

C:\ PROGRAMFILES \ MyCompanyの\ MYAPP \ Feature1DIR \ C app1.exe:\ PROGRAMFILES \ MyCompanyの\ MYAPP \ Feature2DIR \ C app2.exe:\ PROGRAMFILES \ MyCompanyの\ MYAPP \ Feature3DIR \ app3.exe C :\ PROGRAMFILES \ MyCompanyの\ MYAPP \ Feature4DIR \ app4.exe C:\ PROGRAMFILES \ MyCompanyの\ MYAPP \ Feature5DIR \

app5.exe私は、新しく構築されたアプリケーションを出荷していますし、AssemblyInfoと私の.dllファイルをアップグレードしました。 cs。

短い記事ですが、私のUpdate.exeは、インストールされている6つのアプリケーションのうち5つだけを更新しています。すでに問題が発生してしまった場合

すべてのヘルプ

は、

よろしく、

答えて

0

あなたの機能/コンポーネント/ファイル構造を追加し、特にそれらのファイルに関連するファイルのエントリをログに記録してくださいすることができ感謝しますか?

MSI (s) (B4:4C) [11:30:07:906]: Executing op: FileCopy(SourceName=eulatxt|eula.txt,SourceCabKey=FILE1,DestName=eula.txt,Attributes=512, FileSize=29239,PerTick=32768,,VerifyMedia=1,,,,, CheckCRC=0,,,InstallMode=58982400,HashOptions=0, HashPart1=-1713153497,HashPart2=58557210, HashPart3=1046945815,HashPart4=871163290,,) 
MSI (s) (B4:4C) [11:30:07:906]: File: C:\WINDOWS\system32\eula.txt; Won’t Overwrite; Won’t patch; Existing file is unversioned but modified 

また、コンポーネントとキーファイルも確認する必要があります。コンポーネントのキーファイルがパッチ内で変更されていない場合(これはマイナーアップグレードではなく「小規模な更新」または「パッチ」BTW)、コンポーネントの他のファイルは、関連付けられたバージョンの変更に関係なくアップグレードされません。コンポーネントのベストプラクティスは、コンポーネントごとに1つのバイナリ(バージョニングされた)ファイルを記述していますこのMSDN articleから

は、既存のファイルを交換する場合、Windowsインストーラは、ファイルのバージョン管理規則 を適用する方法に注意してください。 Windowsインストーラは、最初に を確認して、コンポーネントのキーファイルが既にインストールされているかどうかを確認してから、 コンポーネントのいずれかのファイルをインストールしようとします。 インストーラが、コンポーネントのキーファイル がインストール先の場所にインストールされているのと同じ名前のファイルを見つけた場合は、2つのキーファイルのバージョン、日付、および 言語を比較し、ファイルバージョンルールを使用します。 パッケージによって提供されるコンポーネントです。 インストーラがキーファイル でコンポーネントベースを置き換える必要があると判断した場合、インストールされている各ファイルのバージョン管理ルールを使用してファイルを置き換えるかどうかを判断します。

+0

.ismプロジェクトでパッケージコードと製品バージョンの両方を変更したため、私はマイナーなアップグレードパッチを作成しています。ありがとう、私はMSDNの記事に従って、あなたに知らせます。 – user4953001

+0

私はあなたにログファイルのエントリを提供したいが、私はパッチの実行中にそれを生成することを知らない。 update.exeを起動するとコマンドラインで生成される冗長なログだが、コマンドラインは不明なままであることがわかった。 – user4953001

+0

パッチを作成するときに、ログファイルを作成するように指定することができます。デフォルトでは '%TEMP%'に移動します。Update.exeでログファイルを作成する方法については、InstallShieldヘルプファイルのUpdate 。EXE**。私は定期的なInstallShieldのブートストラップでは 'setup.exe/V"/l * v logfile.txt "を知っています。 –

関連する問題