在我的Inno安装程序中,我调用了第二个可选安装程序。如果我的应用已卸载,则要卸载该软件。但是,如果我不想猜测或询问用户,则必须获取注册表项的卸载路径。
可以在卸载我的应用程序时将其作为“卸载运行”的脚本变量获取此注册表项吗?据我了解,“卸载运行”是unins000.dat的一部分,它是在安装时完全生成的,所以没有办法吗?
要使用此[UninstallRun]
部分,您必须知道安装时间的路径。因为所有部分中的常量都在安装时解析。
如果您不知道安装时的路径,则必须使用Pascal Script事件函数CurUninstallStepChanged
。在功能中,您可以使用Reg*
支持功能来解析路径。可能使用RegQueryStringValue
。然后,您可以使用Exec
函数执行找到的二进制文件。
[Code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
Path: string;
begin
if CurUninstallStep = usUninstall then
begin
if RegQueryStringValue(..., ..., ..., Path) then
begin
Log(Format('Executing %s...', [Path]));
Exec(Path, ...);
end;
end;
end;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句