WPFアプリケーションを作成してセットアップを作成し、システムに手動でインストールしました。今度は、このアプリケーションをC#プログラムでアンインストールします。このようにして、このアプリケーションの新しいバージョンをインストールしたいと思います。どのように?ありがとう。 自分自身のwpfアプリケーションをアンインストールする方法
答えて
これは、あなたが何を達成するために行くことを提案する方法です!注:説明する方法は、通常のビジュアルスタジオインストーラプロジェクトで行うことができます。インストールシールドの場合、ステップは異なるように見えるかもしれませんが、同じ戦略に従います。
File System on Target machine
- >、Special Folder
を追加するファイルを追加し、このシステムフォルダにSystem Folder
- を選択します。ローカル
System32
フォルダからmsiexec.exe
を参照して追加します。 - オーバーライドデフォルトプロパティ:条件=
Not Installed
、パーマネント=True
、システム=True
、推移=バイタルTrue
=False
- 手順1で作成した
System Folder
に新しいApplication Folder
下のショートカット、設定された目標を作成します。そしてそれがmsiexec.exe
にあることを指摘してください。 - ショートカットの名前を「アプリケーションのアンインストール」に変更します。
/x [ProductCode]
に引数プロパティを設定し - (
x
と[
の間にスペースがある) - あなたがこれらの手順で行われた後、プロジェクトに
を構築し、あなたのアプリケーションのための独自のアンインストーラーを作成しているだろう。これで、初めてアプリケーションをインストールすると、アンインストーラのexeがインストールフォルダに自動的に貼り付けられます。次回のインストールでは、新しいバージョンをインストールする前にインストーラがこのアンインストーラを見つけて実行する必要があります。このために、vbスクリプトバッチファイルを作成して、アンインストーラーexeを呼び出して実行することができます。あなたのアプリケーションでuninstaller.vbsとして
Dim WSHShell
Dim oFSO
Dim EXEPath
Set WSHShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
If Not WSHShell Is Nothing Then
EXEPath = "C:\Program Files (x86)\Your Application Location\Uninstall Your Application.exe"
If oFSO.FileExists(EXEPath) Then
WSHShell.Run(EXEPath)
End If
End If
店このスクリプトとあなたのApplication Folder
でこのファイルを添付します。さて、あなたの顧客のインストールアクションでは、インストールを実行する前にこのスクリプトを実行する必要があります。
こちらがお役に立てば幸いです。
これらの手順で使用できるビデオ/デモ。実際には1〜6ステップは非常に難しいです。だから私を助けてください。 – user4667380
@ user4667380私の知識の中には何もありません!しかし、私は私のプロジェクトで同様のことに取り組んできました。普通のインストーラプロジェクトである私にあなたを見せることができます – praty
ありがとう、私は準備ができています。 – user4667380
ビルドしてインストールしたセットアップをインストールするだけで、MSIファイルを生成したVisual Studioセットアッププロジェクトなどの場合、セットアップのProductCodeを知る必要があります。
(C#では)MsiConfigureProductにP/Invokeし、ProductCode、INSTALLLEVEL_DEFAULT、INSTALLSTATE_ABSENTを渡します。
それ以外のコマンドラインオプションを使用している場合は、msiexec/x {productcode}コマンドを使用できます。
問題は、プログラムがまだ実行されている製品をアンインストールしようとしているため、デッドロックが発生することがあります。
あなたはこれがあるとのWiXを使用していた場合:
- 1. C#windowsアプリケーションを自分自身からアンインストールする
- 2. 自分自身
- 3. UserControlを自分自身(WPF)を削除させる
- 4. 私は自分自身のデザインウェブサイトをwhmcsにリンクする方法
- 5. 自分自身を送信するフォームの作成方法
- 6. Laravel:自分自身にページを送信する方法
- 7. 自分自身を削除するスクリプト
- 8. 自分自身を繰り返さない方法(DRY)
- 9. 自分自身を返すRubyメソッド
- 10. JAVA Log4j:独自のパラメータで自分自身の関数を書く方法
- 11. 自分自身を初期化するオブジェクトを解放する方法
- 12. 自分自身のPHP mvcフレームワークのhtaccess
- 13. 自分自身のディレクトリ内のUnauthorizedAccessException
- 14. 私自身のアプリケーションが自分のAPIにアクセスすることを許可する方法
- 15. Objective-Cブロックと自分自身をキャプチャ
- 16. 自分自身への参照wsdl url
- 17. Spring MVC +自分自身のセキュリティモデル
- 18. 自分自身の「並べ替え」ボタン
- 19. サーバに自分自身のアクセストークン/秘密を保存する適切な方法
- 20. Titan Graphデータベースで頂点のインデックスを自分自身で設定する方法
- 21. linux(Makefile)で自分自身の動的ライブラリを使用する方法
- 22. 自分自身を呼び出す関数をユニットテストする方法
- 23. 私のスクリプト可能なアプリケーションで自分自身のオブジェクトを提供する
- 24. Androidアプリケーションの自己アンインストール
- 25. 私自身のスタイルで自分のwysiwygエディタを作る方法は?
- 26. Java - 自分自身を閉じて自分のソフトウェアカーネルパニックなどの自分自身を再起動するにはどうすればいいですか?
- 27. ログインフォーム自分自身に戻ってリダイレクト
- 28. 私自身の自動増分フィールドを割り当てる方法は?
- 29. WPF:後に自分のアプリケーションで画像
- 30. クラスは自動的に自分自身の友人ですか?
あなたは、もう少し具体的にしてみていただけますか?現在の問題は非常に曖昧であり、あらゆる種類の有益な情報/不必要な回答を不必要に提供することになります。これ以上の情報がなければ、私は単に新しいファイルをコピーし、既存の/古いファイルを置き換えることを提案するでしょう... – bassfader
C#コードを使用して(demo.exe)のようなソフトウェア名でプログラムをアンインストールします。ボット?または他の方法で。 – user4667380
インストーラとして独自のvdprojを作成しましたか?その場合は、インストールコマンドでスクリプトまたはexeを実行して、意図したとおりに達成する方法があります。 – praty