2016-08-02 1 views
0

私は基本的なMSIプロジェクトを作成しました。私の最初のステップは、少数のフォルダとファイルをコピー先のマシンにコピーすることです。次に、exeファイルを実行するための2つのカスタムアクションを作成しました。その特定のアプリケーションが既にマシンにインストールされている場合、私はカスタムアクションをスキップしたいと思います。また、フォルダやファイルをコピーしているときに、そのフォルダやファイルがすでにマシン上に存在する場合は、スキップしたいと思います。インストール条件、条件作成ツール、システム検索を使ってみましたが、解決できませんでした。InstallShieldは、アプリケーションが既にインストールされている場合にカスタムアクションをスキップします。

これらの問題を解決するためのアイデアを提供してください。あなたの答えは非常に高く評価されます。

答えて

0

このすべては、ファイル、フォルダを検索して選択します(ファイルパスを、)存在する場合は、チェックファイル名を入力し、選択したディレクトリとに応じて深さを割り当てるには、システムSearch.Refer(http://helpnet.flexerasoftware.com/isxhelp22/helplibrary/NewLaunchCondition.htm

1)を使用することによって解決することができます言及されたディレクトリ。 \ B \ Cフォルダ内にA.txtがあり、検索中にBを選択している場合、深度は> = 2にする必要があるとします。このプロセスで説明されているプロパティは、ファイルが存在する場合はファイルパスで設定されます。

2)フォルダが存在するかどうかを確認するには(フォルダパス、特定のフォルダを検索して)上記の手順を実行し、filenameの代わりにフォルダ名を指定します。

3)アプリケーションがインストールされているかどうかを確認するには、上記の手順に従ってアプリケーション固有のフォルダ/ファイルを確認します。 最後に、パブリックプロパティをカスタムアクションおよびコンポーネントの条件として使用します。ファイルをチェックし、ASONFILEFOUNDプロパティを設定しているとします。コンポーネント/カスタムアクション条件でこれを言いますが、ファイルが存在する場合は実行しません。 問題が解決しない場合は、Windowsロギングを有効にし、システム検索で使用されるプロパティが設定されているかどうかを確認するためにログを表示します。

関連する問題