(1)起一個專案Uninstall,只一個表單程式碼如後。
主要是呼叫System32下msiexec.exe來執行新增移除程式,然後自己關掉。
(2)主程式的封裝專案 \ 檔案系統 \應用程式資料夾中,加入上面專案編譯後的Uninstall.exe
(3)在「應用程式資料夾」中點Uninstall.exe右鍵\建立Uninstall.exe的捷徑
(4)將捷徑複製到 檔案系統 \ 使用者的程式功能表資料夾中
public Form1()
{
InitializeComponent();
this.ShowInTaskbar = false;
this.FormBorderStyle = FormBorderStyle.None;
DoUnInstall();
}
private void DoUnInstall()
{
using (Process p = new Process())
{
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = System.IO.Path.Combine(System.Environment.SystemDirectory, "msiexec.exe");
//package 修復或移除//uninstall 直接移除 //封裝專案之ProductCode
info.Arguments = " /package {2D1A26B3-6A6B-48ED-9444-7CAD52822052}";
info.CreateNoWindow = true;
p.StartInfo = info;
p.Start();
}
killProcess(Application.ProductName);
}
private void killProcess(string ApplicationName)
{
Process[] allProcess = Process.GetProcesses();
foreach (Process p in allProcess)
{
if (p.ProcessName.ToLower() + ".exe" == ApplicationName.ToLower() + ".exe")
{
for (int i = 0; i < p.Threads.Count; i++)
{
p.Threads[i].Dispose();
}
p.Kill();
//isRun = true;
//break;
}
}
}
留言列表