0

カスタムインストーラープロジェクトの出力を持つMSIインストーラーがあり、インストール中に実行するexeファイルを追加しました。

したがって、MSIセットアップファイルはソースの場所からファイルをコピーまたは削除し、カスタムGUIはウィンドウサーバーをインストールしてサーバーAPIを呼び出し、ログオン資格情報などを更新します。

ファイルのコピーと削除は、MSIプロジェクトの出力として追加されたアクションでMSIによって制御されます。インストールする場合はファイルをコピーし、アンインストールする場合はファイルを削除します。

今、私は以下の問題を抱えています-

1)ここで、コントロールパネルに移動してアプリケーションをアンインストールしようとすると、後でGUIからアンインストールすると、GUIは中止されますが、MSIはすべてのファイルをクリアします。

2)アンインストールを選択し、さらにGUIから選択する場合は、修復を選択します。それでもファイルは削除されます。

したがって、私のインストーラーは実際のカスタムインストーラーではなく、単なる名前の由来です。

では、上記の2つのオプションをすばやく修正するにはどうすればよいですか?そして、このタスクを実行するためのより良いアプローチはありますか->私の元の質問は、アプリケーションのカスタムインストーラーのシングルクリックmsiファイルを作成しますか?

前もって感謝します

4

2 に答える 2

1

間違ったタイミングで何かをしようとしているようです。どのインストール システムでも、事前にすべてのユーザー入力を収集する必要があります。インストール自体が開始されたら、すべてが完了するまで、ユーザー入力を要求する必要はありません。

整合性を確保する最も簡単な方法は、インストール フェーズではなく、UI 収集フェーズでのみユーザーがキャンセルできるようにすることです。インストール段階でユーザーがキャンセルできるようにしたい場合は、これまでに行った変更をキャンセルしてロールバックすることを認識できるように、それを基礎となるエンジンに渡す必要があります。

于 2012-08-31T09:43:08.373 に答える