プログラムでアウトオブブラウザーシルバーライトアプリケーションをアンインストールします
-
02-10-2019 - |
質問
ContextMenuを使用する代わりに(コンテキストメニューを交換する場合など)、Browser Out-Of-Browser Silverlight 4アプリケーションをプログラムでアンインストールする方法は?
編集
で見つけました 「関係するブラウザなしでSilverlightアプリケーションのインストール」 コマンドラインを呼び出してアンインストールする方法:
「%プログラムファイル% Microsoft Silverlight sllauncher.exe "/uninstall -origin:silverlight.net/content/samples/apps/>
これは以下を使用できます。-
dynamic cmd = AutomationFactory.CreateObject("WScript.Shell");
cmd.Run(run, 1, true);
より良い解決策はありますか?
解決
マイクが言うように、これはCom Interopに頼らずには不可能ではないことを確信しています。
1)アンインストールオプションを削除すると、多くのユーザーを悩ませることは間違いありません。 2)新しいコンテキストメニューを実装しようとしていると言いますか?これがLOBアプリケーションでない限り、多くのユーザーが私にとって貧弱なHCIであるWebアプリのコンテキストメニューにアクセスすることに慣れていないため、これに注意するでしょう。 LOBアプリケーションの場合、プログラムを追加/削除することはOKソリューションになりますか?
他のヒント
これをプログラムで行うことができるかどうかはわかりません。
1つのオプションは、ユーザーに追加/削除プログラムを使用して削除することです。
もう1つは、サイレントインストールオプションを使用して削除することです(リンク - http://mtaulty.com/communityserver/blogs/mike_taultys_blog/archive/2010/03/24/silverlight-4-rc-and-silent-installation.aspx )しかし、それにはcom Interopコールが含まれます。
マイク。
あなたが言及した解決策は、私がそれをすることを知っている唯一の方法です。それは素敵なタッチパットです Application.Current.MainWindow.Close();
ただし、アンインストールを行った後もアプリケーションが実行されているためです。
マーク
これは答えではありませんが、あなたの問題に関連しています。 Silverlightの公式ウィッシュリストには、かなり前にこれを行う機能を追加しました。幸いなことに、かなり少数のユーザーが同意します。十分な票があれば、シルバーライトの将来のバージョンに表示されることを願っています。
ここで私の解決策をチェックしてください: Silverlightをブラウザアプリケーションからプログラムでアンインストールできません Silverlightアプリケーションによって実行されているコンソールアプリのITコードを使用しました。シルバーライトは、ディレクトリの1つにリソースとしてEXEを抽出し、次のようなものを使用して実行しました。
using (dynamic shell = AutomationFactory.CreateObject("WScript.Shell"))
{
shell.Run(@"C:\Users\yourusername\AppData\update.exe xapNameToUninstall");
}