如何编辑 InstallShield .cab 而不触发错误 -5005:0x8007000d

如何编辑 InstallShield .cab 而不触发错误 -5005:0x8007000d
如何编辑 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
采取的步骤:

  1. 将 iscab.exe 放在 C:\Program Files\InstallShield\2010\System 中
  2. 启动 cmd.exe
  3. 将 cabfile 中的所有文件组和文件列出到 inifile,allfiles.ini
    iscab.exe C:\Users\user\Desktop\Test\user_Setup\Disk1\data1.cab -i"allfiles.ini" -lx
  4. 删除 ini 文件中列出的文件,removefiles.ini
    iscab.exe C:\Users\user\Desktop\Test\user_Setup\Disk1\data1.cab -i"removefiles.ini" -r
  5. 运行setup.exe时出现错误消息
  6. 使用原始 .cab 恢复 data1.cab
  7. 替换 ini 文件中列出的一个现有文件 replacefiles.ini 以排除
    iscab.exe 故障 C:\Users\user\Desktop\Test\user_Setup\Disk1\data1.cab -i"replacefiles.ini" -a
  8. 生成 ini 文件、replacefiles.ini 并将其内容与 allfiles.ini 进行比较
    两个 ini 文件内容匹配
  9. 运行时出现与步骤5相同的错误信息安装程序
  10. 编辑setup.ini,将CheckMD5=Y改为CheckMD5=N
  11. 运行时出现与步骤5相同的错误信息安装程序

编辑 20181109 PM1330 harrymc

将 .exe 文件转换为项目文件
采取的步骤:

  1. 打开并编辑安装程序使用 InstallShield
    File | 打开...
    文件名的文件:*
    打开为:自动或向导
    选择安装程序
  2. 出现错误消息:
    InstallShield 无法打开 C:\Users\user\Desktop\Test\user_Setup\Disk1\setup.exe。请联系 Acresso 技术支持获取更多信息。

  3. 打开并编辑用户安装程序使用 InstallShield
    File | 打开...
    文件名的文件:*
    打开为:自动或向导
    选择用户安装程序

  4. 出现错误消息:
    InstallShield 无法打开 C:\Users\user\Desktop\Test\user_Setup.exe。请联系 Acresso 技术支持获取更多信息。

  5. 打开并编辑启动程序使用 InstallShield
    File | 打开...
    文件名的文件:*
    打开为:自动或向导
    选择启动程序

  6. 出现错误消息:
    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 技术支持和常见问题解答

相关内容