Inno setup Inno安装程序:运行unins000.exe时如何隐藏卸载检查提示?

Inno setup Inno安装程序:运行unins000.exe时如何隐藏卸载检查提示?,inno-setup,Inno Setup,我尝试在图标部分使用“/silent”参数,如: Name: "{group}\{code:GetUninstallExeNa}"; Filename: "{app}\unins000.exe"; Parameters:"/SILENT /log"; 当我从“开始”菜单甚至从控制面板的小程序中卸载时,它确实起作用。但当我双击安装目录中的unins000.exe时,它仍然显示确认卸载提示 我还尝试将参数“/SILENT/log”附加到注册表中的卸载字符串。但是当我直接从安装目录运行unins00

我尝试在图标部分使用“/silent”参数,如:

Name: "{group}\{code:GetUninstallExeNa}"; Filename: "{app}\unins000.exe"; Parameters:"/SILENT /log";
当我从“开始”菜单甚至从控制面板的小程序中卸载时,它确实起作用。但当我双击安装目录中的unins000.exe时,它仍然显示确认卸载提示

我还尝试将参数“/SILENT/log”附加到注册表中的卸载字符串。但是当我直接从安装目录运行unins000.exe时,它仍然会显示提示


有什么建议吗?

您可以在
注册表中更改应用程序的
卸载字符串
,使其始终在
静默模式下运行

[代码]
程序字符串;
变量
sunistpath:String;
sunstallstring:String;
开始
sunistpath:=ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\{{emit SetupSetting(“AppId”)}\u is1');
sUnInstallString:='';
如果不是RegQueryStringValue(HKLM、sUnInstPath、“卸载字符串”、sUnInstallString),则开始
RegQueryStringValue(HKCU、sUnInstPath、“卸载字符串”、sUnInstallString);
RegWriteStringValue(HKCU、SunistPath、'UninstallString',sUnInstallString+'/SILENT');
结束
否则开始
RegWriteStringValue(HKLM、sUnInstPath、'UninstallString',sUnInstallString+'/SILENT');
结束;
结束;
过程CurStepChanged(CurStep:TSetupStep);
开始
如果CurStep=ssDone,则开始
更改字符串;
结束;
结束;

您可以将
注册表中应用程序的
卸载字符串
更改为始终在
静默模式下运行

[代码]
程序字符串;
变量
sunistpath:String;
sunstallstring:String;
开始
sunistpath:=ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\{{emit SetupSetting(“AppId”)}\u is1');
sUnInstallString:='';
如果不是RegQueryStringValue(HKLM、sUnInstPath、“卸载字符串”、sUnInstallString),则开始
RegQueryStringValue(HKCU、sUnInstPath、“卸载字符串”、sUnInstallString);
RegWriteStringValue(HKCU、SunistPath、'UninstallString',sUnInstallString+'/SILENT');
结束
否则开始
RegWriteStringValue(HKLM、sUnInstPath、'UninstallString',sUnInstallString+'/SILENT');
结束;
结束;
过程CurStepChanged(CurStep:TSetupStep);
开始
如果CurStep=ssDone,则开始
更改字符串;
结束;
结束;

它无法从控制面板“appwiz.cpl”工作,因为它从注册表获取数据,而不是从“开始”菜单快捷方式获取数据。安装后,您必须修改该文件的注册表项。它无法从控制面板``appwiz.cpl`中工作,因为它从注册表获取数据,而不是从“开始”菜单快捷方式获取数据。安装后,您必须修改该文件的注册表项。它在我的程序中似乎不起作用。我需要的是在双击unins000.exe文件时以静默模式运行卸载。@XHLin如果不重新编译Inno安装程序,这是不可能的。不管怎样,你为什么需要这个?@MartinPrikryl因为我已经有了自己的自定义页面来通知用户确认卸载程序。所以我想在prompt.OK中隐藏这个build,但是为什么用户点击
unins000.exe
?不太可能。用户通过运行unins000.exe卸载我的程序是正常情况。如果是这样,我需要隐藏内置提示符。它似乎在我的程序中不起作用。我需要的是在双击unins000.exe文件时以静默模式运行卸载。@XHLin如果不重新编译Inno安装程序,这是不可能的。不管怎样,你为什么需要这个?@MartinPrikryl因为我已经有了自己的自定义页面来通知用户确认卸载程序。所以我想在prompt.OK中隐藏这个build,但是为什么用户点击
unins000.exe
?不太可能。用户通过运行unins000.exe卸载我的程序是正常情况。如果是这样,我需要隐藏内置提示符。