首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我曾经使用此脚本从注册表中卸载Office 2013,但现在它不起作用

我曾经使用此脚本从注册表中卸载Office 2013,但现在它不起作用
EN

Stack Overflow用户
提问于 2017-11-23 03:56:42
回答 2查看 317关注 0票数 2
代码语言:javascript
复制
$uninstall32 = gci "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -match "Microsoft Office Professional Plus 2013" } | select UninstallString

#$uninstall64 = gci "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -match "Microsoft Office Professional Plus 2013" } | select UninstallString

#if ($uninstall64) {
#$uninstall64 = $uninstall64.UninstallString -Replace "msiexec.exe","" -Replace "/I","" -Replace "/X",""
#$uninstall64 = $uninstall64.Trim()
#Write "Uninstalling..."
#start-process "msiexec.exe" -arg "/X $uninstall64 /quiet" -Wait}

#if ($uninstall32) {
#$uninstall32 = $uninstall32.UninstallString -Replace "msiexec.exe","" -Replace "/I","" -Replace "/X",""
#$uninstall32 = $uninstall32.Trim()
#Write "Uninstalling..."
#start-process "msiexec.exe" -arg "/X $uninstall32 /quiet" -Wait}

但是现在当我运行它时,我得到了用于卸载32部分的命令行开关。不知道发生了什么变化,但它摆脱了所有的Microsoft Office 2013 plus,这很好,现在我必须依靠配置文件来卸载它。

EN

回答 2

Stack Overflow用户

发布于 2017-11-24 02:59:30

根据Olaf的评论,目前你得到了32位的reg值,但是你没有做其他的事情,因为#的注释把所有的东西都注释掉了。对于系统来说,所有这些行实际上都是空白的。

使用你的代码,如果你把它修改成这样,它至少会做一些事情:

代码语言:javascript
复制
$uninstall32 = gci "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -match "Microsoft Office Professional Plus 2013" } | select UninstallString

#$uninstall64 = gci "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -match "Microsoft Office Professional Plus 2013" } | select UninstallString

#if ($uninstall64) {
#$uninstall64 = $uninstall64.UninstallString -Replace "msiexec.exe","" -Replace "/I","" -Replace "/X",""
#$uninstall64 = $uninstall64.Trim()
#Write "Uninstalling..."
#start-process "msiexec.exe" -arg "/X $uninstall64 /quiet" -Wait}

#if ($uninstall32) {
#$uninstall32 = $uninstall32.UninstallString -Replace "msiexec.exe","" -Replace "/I","" -Replace "/X",""
#$uninstall32 = $uninstall32.Trim()
Write "Uninstalling..."
start-process "msiexec.exe" -arg "/X $uninstall32 /quiet" -Wait

这将仅执行32位卸载。

票数 0
EN

Stack Overflow用户

发布于 2017-11-29 23:16:34

到目前为止,使用带有正确参数的SilentUninstallconfig.xml是卸载Office2013的唯一方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47442942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档