トップ回答者
ClickOnceアプリケーションをアンインストールする方法

質問
-
いつもお世話になっております。
.NET Framework 2 (C#) で開発をしています。
ClickOnceでインストールしたアプリケーションを手軽にアンインストールする方法を探しています。
※正確には、Documents and Settings\[ユーザ名]\Local Settings\Apps以下のファイルをクリアする方法
稀にですが、インストールファイルの一部が破損したのか、
アプリケーションが起動できなくなってしまうことがあります。
この時、上記のファイルを手作業で削除すれば、次回起動時にインストールされるため、
それからは正常に起動するようになるのを確認しました。
しかし、複数のプログラムがインストールされている場合もあり得るため、あまり詳しくない利用者に
その作業を求めるのが難しいという状況です。
なお、このプログラムはオンラインでのみ利用可能という設定で発行しているため、
プログラムの追加と削除の一覧に表示されず、こちらからの削除ができません。
利用者に削除作業をさせる場合、どういった方法、対策があり得るでしょうか。
まず自分で考えたものを列挙させて頂きます。
【案1】削除用のプログラムEXEを配布し、それを実行してもらう
こちらで削除用のプログラムを作る必要があります。
ただ、上記フォルダの中から当該アプリケーションのフォルダを探す方法が分かりません。
省略されたアプリ名の文字列を含むフォルダを探して全部削除(中身もチェック)で一応できますが、
もう少しスマートに特定する方法は無いのでしょうか。
【案2】プログラムをオフラインでも実行可能に設定する
こうすれば、「プログラムの追加と削除」から削除してもらうことができます。
ただ、このアプリケーションは、ウェブ上で自動生成される起動オプションが必須であるため、
オフラインで(すべてのプログラムの一覧から)起動するのはNGです。
オプションが無ければプログラムを停止させればいいのですが、「じゃあプログラム一覧に余計なショートカット置くなよ」
という新たな注文を受けることになります。
このショートカットを生成しない方法があればいいのですが・・・
【案2】の問題(ショートカット生成)が解決できれば、多分これが一番楽だと考えています。
あるいは、全く異なるアプローチでも構いません。
何か助言を頂けないでしょうか。
回答
-
オンラインキャッシュをクリアしなければならない状況は多くないはずですので、CleanOnlineAppCacheで全てのオンラインキャッシュをクリアしても運用的には良いのではないでしょうか?
CleanOnlineAppCache
http://www.atmarkit.co.jp/fdotnet/dotnettips/456cleanonlinecache/cleanonlinecache.html
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/- 回答としてマーク femp 2012年1月10日 7:05
すべての返信
-
-
オンラインキャッシュをクリアしなければならない状況は多くないはずですので、CleanOnlineAppCacheで全てのオンラインキャッシュをクリアしても運用的には良いのではないでしょうか?
CleanOnlineAppCache
http://www.atmarkit.co.jp/fdotnet/dotnettips/456cleanonlinecache/cleanonlinecache.html
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/- 回答としてマーク femp 2012年1月10日 7:05