9

We have an older app from 2006 we'd like to uninstall at the command line using group policy, but I can't get a silent uninstall to work.

This works. Of course I need to click Next to uninstall:

 "C:\App\Setup.exe" /uninst

But this does not. I see an hourglass for a couple seconds but the app is not uninstalled.

 "C:\App\Setup.exe" /uninst /s

I also unsuccessfully tried some VBScripts. They find the app listed but the uninstall fails. I'm not too familiar with how this process is supposed to work.

4

6 回答 6

15

您需要先创建一个 ISS 响应文件以静默删除您的应用程序,

  1. 创建响应文件: C:\App\Setup.exe /r /f1c:\app\uninstall1.iss 您将被要求卸载,....并可能回复其他窗口。然后你的应用程序将被卸载,你会得到一个新的响应文件 c:\app\uninstall1.iss

  2. 接下来,如果您想在另一台计算机上静默删除此应用程序:启动:C:\App\Setup.exe" /s /f1c:\app\uninstall1.iss

有关更多信息,请参阅:

http://www.itninja.com/blog/view/installshield-setup-silent-installation-switches

最好的问候, 斯蒂芬

于 2012-07-11T12:47:51.740 回答
10

试试这个,使用用于安装的原始 setup.exe版本

"C:\App\Setup.exe" /x /s /v/qn
于 2015-03-03T16:25:29.690 回答
9

我一直在为静默卸载程序苦苦挣扎,终于找到了一个在大多数情况下都适用于我的解决方案,无论是对于 InstallShield v6 还是 v7。

1.首先(如上所述),您必须生成一个InstallShield 响应文件(例如uninstall.iss)。为此,您必须使用参数启动 setup.exe:

> setup.exe -x -r -f1"C:\Your\Installer\Location\uninstall.iss"

这将通过正常的卸载向导并为您生成一个响应文件:uninstall.iss

2.然后,在尝试您的静默卸载程序之前,我想您应该重新安装该软件。

3.最后,运行您的静默卸载程序,播放最近生成的响应文件:

> setup.exe -x -s -l0x9 -ARP -f1"C:\Your\Installer\Location\uninstall.iss"

而已。

现在,一些重要的注意事项:

注意 1:我正在使用我自己没有构建的 3 方安装包。

注 2: 我使用破折号 (-) 而不是斜杠 (/) 来定义参数。出于某种原因,它不适用于我的斜杠。奇怪但真实。

注意 3:某些安装包需要-ARP-l开关来管理从“添加/删除程序”列表中删除的软件,并相应地预设默认输入语言。

成功的静默卸载完全取决于正确的参数! 因此,请继续探索,正确的参数取决于特定的包和安装程序版本。

我希望我的意见是有帮助的。

于 2015-04-29T14:16:53.060 回答
0

尝试格式:Setup.exe M{Your Product GUID} /s /f1[Full path]\*.iss 用于创建用于卸载的 ISS 文件。从 Stephanie 的示例中,我认为它缺少 GUID。

开发者网站@Creating the Response File有一个很好的链接。

试试看告诉我们,

汤米奎

于 2012-07-13T01:28:43.540 回答
0

还有另一种卸载应用程序的方法,方法是在注册表中搜索应用程序并使用 UninstallString(此示例代码在 windows 10 上使用 powershell):

# Get all installed apps from Registry
$Apps = @()
$Apps += Get-ItemProperty "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" # 32 Bit
$Apps += Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*"             # 64 Bit

# Uninstall My App
$my_app = $Apps | Where-Object{$_.DisplayName -eq "The Name Of My App"}
$uninstall_string = " /C " + $my_app.UninstallString+' /S'
Start-Process -FilePath "cmd.exe" -ArgumentList $uninstall_string -Wait

如果您不知道应用程序的确切完整显示名称,您可以将“应用程序”数组打印到文件中,并在那里搜索:

$Apps | Out-File C:\filename.txt
于 2021-09-08T08:36:17.907 回答
0

我为此苦苦挣扎了很长时间,所以把它贴在这里以防其他人偶然发现它。

如果您碰巧有一个使用传统Package-For-The-Web格式的安装程序,那么您需要使用该参数-a将其他参数传递给提取的安装文件。

记录(卸载)安装文件(手动点击安装程序):

.\DWG2PDF2019.exe -a /r /f1"c:\app\dwg2019_install.iss"
.\DWG2PDF2019.exe -a /r /f1"c:\app\dwg2019_uninstall.iss"

静默(卸载)安装:

.\DWG2PDF2019.exe -s -a /s /f1"c:\app\dwg2019_install.iss"
.\DWG2PDF2019.exe -s -a /s /f1"c:\app\dwg2019_uninstall.iss"

来源:https ://help.hcltechsw.com/caa/3.0/topics/appacc_silent_install_t.html

于 2021-07-16T14:50:02.937 回答