2011-10-19 23 views
0

clickonceを使用してsetup.exeを生成するプロジェクトがあります。実行時に、私のプログラムは、ユーザーフォルダ内に "ログ"や "添付ファイル"のような余分なファイルを作成します。ただし、ARPからclickonceアプリケーションのアンインストールを実行すると、これらのフォルダは削除されません。これらの残りのファイルは、次のインストールに干渉しています。Clickonceアプリケーションをアンインストールした後に余分なファイルを削除する

私が知っているのは、カスタムアクションのインストールやアンインストールの追加をサポートしていないことです。私はアンインストールを実行した後にプログラムでこれらの余分なファイルを削除できる方法があるかどうか疑問に思っていますか?

私が試した1つの方法は、クリーンアップスクリプトを作成して、それをブートストラップパッケージとして、ワンクリックプロジェクトの前提条件に追加することでした。これは、新製品がインストールされる前に、以前の汚れたデータが削除されたという仕方で機能しました。しかし、これはアップグレードケースを混乱させました。

clickonceのアンインストールで残った余分なファイルを削除する方法はありますか?

は、ClickOnceアプリケーションをアンインストール以外のClickOnceアプリケーションをアンインストールする際に何かをする方法はありませんあなた

JS

+0

追加のファイル名はインストール時に認識されていますか?その場合は、アンインストーラが削除するように、空のファイルをインストールするだけでインストールできますか? – BoltBait

+0

ログの場合、ファイル名は固定ですが、添付ファイル名はランダムな形式で生成されます。しかし添付ファイルのフォルダは既知のパスです – bluecatkaka

答えて

1

ありがとうございます。

ファイルをApplicationDeployment.CurrentDeployment.DataDirectoryに配置すると考えましたか?その後、アプリケーションがunisntalledときに削除されます。

ファイルがプロジェクトの一部である場合は、[アプリケーションファイル]ダイアログでデータ型を[データ]に設定し、デプロイ時に自動的にデータディレクトリに配置します。

+0

あなたの答えRobinに感謝します。我々は、マルチウィンドウのユーザーによって共有されるいくつかのデータベースファイルを持っています。同じマシン上の異なるWindowsユーザー間でデータを共有したいからです。私はそれを行う可能性のある方法の1つは、.msiインストーラをビルドし、それをclickonce setup.exeに埋め込むことだと思います。このようにして、カスタムのインストール/アンインストール処理が行われることがあります。しかし、私はアップグレードケースについてもう一度心配する必要があります... – bluecatkaka

+0

なぜ私はアイデアを持っていませんが、私にとってこのフォルダ(ApplicationDeployment.CurrentDeployment.DataDirectory)は削除されません –

関連する問題