6

Shield Premier 2009 をインストールします。コマンド ラインから setup.exe /s /v/qn と入力して基本的な MSI をサイレント インストールします。ただし、デフォルトで「変更」を選択する前に一度インストールすると、ファイルを置き換えることはありません。しかし、ファイルを再度コピーする必要があります。デフォルトで 2 回目のサイレント インストールで「修復」を実行する方法は?

4

4 に答える 4

2

まず第一に、あなたが達成しようとしていることについて、もう少し詳細が必要なようです。壊れたコンポーネントを修正するために製品を再インストールしますか、それとも新しいバージョンの製品をインストールしますか (以前のセットアップと並行してインストールする可能性があります)。

ウィリアムの答えは正しいように見えますが、引用符に問題がある可能性があります。説明した動作は、Windows インストーラーがコマンド ラインを解析できなかったことを示しています。私はこれをテストしていませんが、試してみてください:

Setup.exe /s /v"/f {11111111-1111-1111-1111-111111111111} /qn"

背景情報: setup.exeInstallshield-provider セットアップ ランチャーです。コマンド ラインの/Vの後にあるものはすべて、メインの Windows インストーラー exe ファイルmsiexec.exe ( msiexec.exe コマンド ライン パラメーター リファレンス)に "そのまま" 渡されます。

Windows インストーラーは、以前の展開ソリューションとは異なることに注意してください。MSI をインストールすると、Windows インストーラーはインストールの内部 GUID の記録を保持します。したがって、同じ製品の複数のインスタンスをインストールすることはできません (このために MSI を設計しない限り)。

msiexec.exeのコマンド ラインの例:

インストール:

  • msiexec.exe /i MySetup.msi /q

アンインストール:

  • msiexec.exe /x MySetup.msi /qn
  • msiexec.exe /x {11111111-1111-1111-1111-111111111111} /qn

修理:

  • msiexec.exe /f MySetup.msi /qn
  • msiexec.exe /f {11111111-1111-1111-1111-111111111111} /qn

管理イメージ(MSI からソース ファイルを抽出):

  • msiexec.exe /a MySetup.msi TARGETDIR="C:\ExtractSourcesHere"

上記のコマンド ラインのいずれかから /qn を削除して、サイレントではなく対話的に実行します。

于 2009-06-30T01:40:02.320 に答える
1

解決策を見つけました。基本的な MSI の場合、プロパティ マネージャー ビューを開き、プロパティ _IsMaintenance を「再インストール」に設定します。

于 2011-08-10T07:52:47.287 に答える
1

InstallShield@2009

次のコードを追加します。

function OnMaintUIBefore() ... ... begin // サイレント モードの場合は修復モードに設定し、次に進みます if (MODE = SILENTMODE) then nType = REPAIR; Dlg_SdFeatureTree に移動します。endif;

于 2009-10-13T10:39:23.243 に答える
0
Setup.exe /s /v"/f {11111111-1111-1111-1111-111111111111}" /v"/qn"

"{11111111-1111-1111-1111-111111111111}" は、修復するインストールの ProductCode GUID です。

于 2009-06-24T15:22:58.660 に答える