gpt4 book ai didi

vbscript - 当没有文件时,InstallShield 使用 VBScript 和 CustomAction 删除文件失败

转载 作者:行者123 更新时间:2023-12-03 06:32:28 26 4
gpt4 key购买 nike

卸载以前的安装(我使用 InstallShield 2009 构建的)时,我想在卸载结束时删除该程序所在的整个文件夹。我不知道如何使用自定义操作来做到这一点,因此使用下面的代码,我决定在安装开始后立即删除该文件。如果该程序已安装,则效果很好...但如果之前未安装,则会抛出错误 1701,因为显然该文件夹不存在!我不知道如何解决这个问题,而且我几乎不懂 VBScript。我开始执行 try-catch 来掩盖错误,但显然 VBScript 中不存在这种情况。

Dim fso, Folder2Delete
Folder2Delete = "C:\Program Files\MyProgramDir"
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder(Folder2Delete)

那么,如何将自定义操作粘贴到 InstallShield 中的卸载中,或者如何将 VB 脚本设置为仅删除文件(如果存在)?或者最后一搏,当它不存在时我怎样才能让它不显示错误......?

非常感谢,这让我发疯了!

最佳答案

您可以尝试以下代码:

Dim fso, Folder2Delete
Folder2Delete = Session.Property("CustomActionData")
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(Folder2Delete) Then
fso.DeleteFolder(Folder2Delete)
End If

对于此自定义操作,您可以将操作数据(CustomActionData 属性)设置为:

[INSTALLDIR]

这样您的操作将删除您的用户设置的任何安装路径。

关于vbscript - 当没有文件时,InstallShield 使用 VBScript 和 CustomAction 删除文件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7261981/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com