このトピックを検索したところ、多くの投稿が見つかりましたが、私が抱えている問題を正確に説明しているものはありません。私たちの製品 (別の開発者から継承したもの) には InstallScript メソッド (以下を参照) がありましたが、かなり長い間機能しているように見えましたが、どこからも呼び出されていないように見えたので、それを呼び出して配置するカスタム アクションを追加しました。ユーザー インターフェイスと実行シーケンスの両方で ISSetupFilesExtract ステップを実行した後、それを実行すると、機能しないか、エラーが発生します。スクリプトは次のとおりです。
export prototype MainApplication_Installing();
function MainApplication_Installing()
begin
Disable(CANCELBUTTON);
SetStatusWindow(-1,"Uninstalling previous versions...");
//Uninstall 3.0.5
LaunchApp("MsiExec.exe","/X{ABA98465-AE8B-49BB-A445-46744EF236C0} /qn");
//Uninstall 3.1.1
LaunchApp("MsiExec.exe","/X{954ADD40-DFEF-40DD-896A-FF29E5E43FB8} /qn");
/X は以前の各バージョンの製品コードですが、私が言ったようにこれは機能しませんでした。そのため、スクリプトのデバッグに失敗した後、以前の各バージョンのアップグレード コードを指定したメジャー アップグレードを作成する別のルートを試しました。下のバージョン: アップグレード シナリオのセットアップの準備 -> Windows インストーラー セットアップのアップグレード -> 3.05 - 3.1.1 の削除、しかしそれも機能していません。今製品をインストールすると、古いバージョンと並行してインストールされます ([コントロール パネル] -> [アンインストールまたはプログラムの変更] に両方が表示されます。
では、どの方法でそれを行う必要があり、これらのいずれも機能しないのはなぜですか?
前もって感謝します!