我试图默默卸载所有以前的Microsoft软件,以便运行vbscript来安装Office 365(可以工作) .
这是目前的工作 . 使用此处的脚本:https://marckean.wordpress.com/2013/06/18/fully-automate-removal-of-any-version-office-in-preparation-for-office-365/在此链接中,我使用OffScrub7.vbs和OffScrub10.vbs从理论上卸载所有Office 2010产品和所有Office 2007产品,但事实并非如此!
运行上面的卸载脚本后,它们仍然会离开Lync 2010和MS Access Database 2007(32位) .
什么是确保卸载所有以前的办公产品的最佳方法,包括OffScrub7.vbs和OffScrub10.vbs未卸载的上述软件?我的猜测是找到无声的vbscripts来卸载Lync 2010和MS Access Database 2007(32位)?
1 回答
可以使用简单的c代码和msi api卸载所有Microsoft应用程序 .
要求:win 7 pro工作在32位和64位操作系统 .
一个迷你tool.exe,可以包装在vb脚本,PowerShell等中
UPD:
我有一点空闲时间 . 我想补充我的答案 .
我谈到了一个小应用程序,但没有显示一行代码 .
现在我们将纠正此事 .
1)需要Win7 Pro,64位或32位,没关系 . 我们要编译32位编译器的项目,因为我们的应用程序需要在32位和64位操作系统上运行 .
2)需要任何Ide,我建议Code :: Blocks .
3)需要mingv32-w64编译器 - 更多信息 - mingw-w64.org
3.1)即使你有32个作为主机运行,也必须为64位和32位操作系统安装两个版本的编译器 . 我们需要一个64位编译器安装的静态库 .
4)创建一个控制台应用程序
5)构建项目选项 - 添加静态库项目libmsi.a
但!在32位安装的编译器中只有头文件mhi.n,但库本身不是!但它是64位版本的安装程序 . 在64位编译器安装的Lib文件夹中找到此静态库 .
6)代码 - 枚举应用程序(来源:http://mariusbancila.ro/blog/2011/05/01/finding-installed-applications-with-vc/)
必须以管理员权限运行该实用程序 .
也就是说,如果我们从powershell脚本运行该实用程序,那么应该使用管理员权限运行powershell .
一段时间后将添加代码,代表他删除应用程序,该应用程序显示在控制面板中已安装程序的列表中 .
只是没有足够的时间,悲伤=(
但是你可以尝试编写一个应用程序(如果你感兴趣的话,真的没什么特别的,但仍然非常有趣)