C# - 安装和卸载软件






2.36/5 (17投票s)
2007年8月16日
2分钟阅读

144932

6662
本文将教你如何使用C#安装和卸载*.msi文件
引言
大家好...这是我的第一篇文章,我知道这很容易做到,但我在网站上搜索过,没有找到,所以我决定写下来并发布它。我很高兴与大家分享。
本文将教我们如何使用Visual C# 2005安装和卸载“*.msi”文件(安装程序)。
背景
显然,这个程序用处不大,因为我们需要手动管理它,但我发布它是为了让你们看看代码。我将把它用于我正在做的移动代理程序,这样它就可以自己执行这个操作,而且没有人会注意到。
使用代码
这个程序非常简单...所以我不会浪费时间逐步解释如何做,因为我只是让它可视化,以便你可以验证它。
我们需要知道一些事情,“msiexec.exe”是“Windows Installer”的一个组件,用于安装、卸载和修复“*.msi”中的软件。
有很多选项可以操作这个过程,但我们只讨论其中两个
- 安装选项(在*.msi文件路径之前输入)
- 要安装,你只需要输入 "/i"。
- 要卸载,你只需要输入 "/x"。
- 要修复,你只需要输入 "/f"。
2. 屏幕选项(在*.msi文件路径之后输入)
- 如果你不想显示用户界面,输入 "/qn"。
- 要显示一个简化的用户界面,并在安装结束时显示一个模式对话框,输入 "/qb"。
- 要显示完整的用户界面,并在安装结束时显示一个模式对话框,输入 "/qr"。
- 要不显示用户界面,除了在最后显示一个模式对话框,输入 "/qf"。
要了解更多信息,请访问以下网站:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/msiexec.mspx?mfr=true
或者直接转到运行对话框并输入 "msiexec",然后单击 "确定",将会出现一个包含所有信息的对话框。
首先,我们将使用System.Diagnostics,所以你必须添加这个。
using System.Diagnostics;
无需用户界面即可安装软件的代码是
private void installSoftware() { Process p = new Process(); p.StartInfo.FileName = "msiexec.exe"; p.StartInfo.Arguments = "/i \"C:\\Application.msi\"/qn"; p.Start(); }
无需用户界面即可卸载软件的代码是
private void uninstallSoftware() { Process p = new Process(); p.StartInfo.FileName = "msiexec.exe"; p.StartInfo.Arguments = "/x \"C:\\Application.msi\"/qn"; p.Start(); }
无需用户界面即可修复软件的代码是
private void repairSoftware() { Process p = new Process(); p.StartInfo.FileName = "msiexec.exe"; p.StartInfo.Arguments = "/f \"C:\\Application.msi\"/qn"; p.Start(); }
好了,这就是全部内容,我希望这对未来有所帮助。 我特别感谢以下网站:http://www.stratos-ad.com/forums3,那里的人非常友好,帮助我完成了这段代码。
关注点
我真的对尽可能多地自动化计算机的流程感兴趣。
历史
好吧,还没有历史记录... :)