如何编辑 InstallShield .cab 而不触发错误 -5005: 0x8007000d?
我是否错过任何一步?
用户安装程序文件版本:9.1.0.429
问题:
需要删除 InstallShield.exe 中的一个 exe,用户安装程序。
我有源文件,但它已经过时了。已经丢失了用于构建当前 InstallShield.exe 的 .ism 文件,用户安装程序
使用Universal Extractor获取InstallShield .cab文件和其他文件(安装程序包括)。在编辑 .cab 文件之前,我可以运行安装程序不会触发任何错误。然后我使用 iscab.exe 编辑 .cab 文件。当我运行安装程序,它立即提示:
An error (-5005 : 0x8007000d) has occurred while running the setup.
Detail>>
Error Message:
Error Code: -5005 : 0x8007000d
Error Information:
>Kernel\KernelMedia.cpp (95)
>Kernel\KernelMedia.cpp (95)
>SetupDLL\SetupDLL.cpp (1619)
如果编辑setup.ini,将CheckMD5=Y改为CheckMD5=N,也会出现同样的错误信息。
编辑 InstallShield .cab
采取的步骤:
- 将 iscab.exe 放在 C:\Program Files\InstallShield\2010\System 中
- 启动 cmd.exe
- 将 cabfile 中的所有文件组和文件列出到 inifile,allfiles.ini
iscab.exe C:\Users\user\Desktop\Test\user_Setup\Disk1\data1.cab -i"allfiles.ini" -lx - 删除 ini 文件中列出的文件,removefiles.ini
iscab.exe C:\Users\user\Desktop\Test\user_Setup\Disk1\data1.cab -i"removefiles.ini" -r - 运行setup.exe时出现错误消息
- 使用原始 .cab 恢复 data1.cab
- 替换 ini 文件中列出的一个现有文件 replacefiles.ini 以排除
iscab.exe 故障 C:\Users\user\Desktop\Test\user_Setup\Disk1\data1.cab -i"replacefiles.ini" -a - 生成 ini 文件、replacefiles.ini 并将其内容与 allfiles.ini 进行比较
两个 ini 文件内容匹配 - 运行时出现与步骤5相同的错误信息安装程序
- 编辑setup.ini,将CheckMD5=Y改为CheckMD5=N
- 运行时出现与步骤5相同的错误信息安装程序
编辑 20181109 PM1330 harrymc
将 .exe 文件转换为项目文件
采取的步骤:
- 打开并编辑安装程序使用 InstallShield
File | 打开...
文件名的文件:*
打开为:自动或向导
选择安装程序 出现错误消息:
InstallShield 无法打开 C:\Users\user\Desktop\Test\user_Setup\Disk1\setup.exe。请联系 Acresso 技术支持获取更多信息。打开并编辑用户安装程序使用 InstallShield
File | 打开...
文件名的文件:*
打开为:自动或向导
选择用户安装程序出现错误消息:
InstallShield 无法打开 C:\Users\user\Desktop\Test\user_Setup.exe。请联系 Acresso 技术支持获取更多信息。打开并编辑启动程序使用 InstallShield
File | 打开...
文件名的文件:*
打开为:自动或向导
选择启动程序- 出现错误消息:
InstallShield 无法打开 C:\Users\user\Desktop\Start.exe。请联系 Acresso 技术支持获取更多信息。
参考:
通用提取器
如何提取 InstallShield Cabinet 文件?
如何更新 InstallShield v6.x CAB 文件
修改后的 .cab 文件导致安装程序抛出错误 1334
我不知道 InstallShield 可以做到这一点?
额外信息:
通过使用 LegRoom.net 的 Universal Extractor,
我将获得以下文件/文件夹:
Disk1(文件夹)
|- data1.cab(文件)
|- data1.hdr(文件)
|- data2.cab(文件)
|- engine32.cab(文件)
|- layout.bin(文件)
|- setup.exe(文件)
|- setup.ibt(文件)
|- setup.ini(文件)
|- setup.inx(文件)
removefiles.ini的内容:
[ISCAB 信息]
产品=ISCAB
版本=2.0
[工具]
File10="common\nircmdc.exe"
File58="Tools\common\nircmdc.exe"
[语言独立于操作系统独立文件]
File2="nircmdc.exe"
replacefiles.ini的内容:
[ISCAB 信息]
产品=ISCAB
版本=2.0
[AdminScripts]
File6="用户.bat"
setup.ini的内容:
[启动]
AppName=user_Setup
ProductGUID=DD1111D1-1D11-111D-1DDD-D11111111D1D
CompanyName=user
CompanyURL=https://superuser.com
错误报告URL=http://www.installshield.com/isetup/ProErrorCentral.asp?ErrorCode=%d: 0x%x&ErrorInfo=%s
MediaFormat=1
LogMode=1
Resource=_Setup.dll
SmallProgress=N
SplashTime=5
CheckMD5=Y
CmdLine=
ShowPasswordDialog=N
EngineVersion=9.1.0.429
EngineBinding=1
[语言]
Default=0x0009
count=1
key0=0x0009
答案1
在许多情况下,InstallShield 可以将创建的菜单设置文件转换回可修改和重新生成的项目。
这是在菜单中完成的文件/打开*
,在 FileName 字段中指定并按回车键,然后选择安装exe
文件。
对于海报来说,这导致了错误
InstallShield 无法打开
C:\Users\user\Desktop\Test\user_Setup.exe
。请联系 Acresso 技术支持以获取更多信息。
可以通过以下页面联系 Acresso 技术支持
InstallShield 技术支持和常见问题解答。