我有一个包含大量插件和配置文件的项目。现在我正在为它做一个Visual Studio安装项目。
我不想手动将每个配置文件添加到安装项目中,所以我想这样做:
vbs脚本如下:
sArchiveName = "Config.zip"
sLocation = "C:\Data\Configurations"
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oShell = CreateObject("Wscript.Shell")
oShell.Run """" & s7zLocation & "7z.exe"" x " & sLocation & "\" & sArchiveName & " -aoa -o" & sLocation, 1, True
'--- If I uncomment the following 2 lines,
'--- as I click on the shortcuts the installation rollbacks.
'--- If I leave them the shortcuts work fine.
'Set f = oFSO.GetFile(sLocation & "\" & sArchiveName)
'f.Delete True
我的问题是我在程序菜单中添加的快捷方式会导致安装回滚。原因是在安装过程结束时删除了config.zip。如果我离开它一切正常。
我已经google了解决方案,但找不到任何东西,有人可以帮助我吗?
答案 0 :(得分:1)
这似乎是一个自我修复问题。
答案 1 :(得分:0)
这些症状几乎肯定意味着您的自定义操作失败,因此安装将回滚。您需要发布您的VBScript以供我们查看。
详细日志应显示脚本失败的位置。做一个msiexec / I [msi文件的路径] / l * vx [日志文件的路径]
VBScript自定义操作中的一个常见问题是使用WScript对象,例如WScript.CreateObject。这将失败,因为在WSH环境中运行时提供了WScript对象,但在Windows Installer的调用期间不会发生这种情况。
在您发布的脚本中,s7zLocation似乎未初始化。
另请注意,代码是从msixec.exe调用的,与系统帐户一起运行,并且没有任何基础结构,如果您是从交互式用户资源管理器环境(例如工作目录)运行的话。您需要指定所有可执行文件和正在使用的文件的完整路径。