【问题标题】:warning 'W_COM_DARWIN_INSTALLATION_NOT_SUPPORTED': COM while converting Installshield LE installer app警告“W_COM_DARWIN_INSTALLATION_NOT_SUPPORTED”:COM 在转换 Installshield LE 安装程序应用程序时
【发布时间】:2017-06-17 01:44:09
【问题描述】:

我正在尝试转换使用 InstallShield 2015 LE 安装程序的旧版 Visual FoxPro 9 应用程序,以便我们可以使用 Windows 商店进行部署。如果我让 singleImage 安装程序进行转换,它会发出很多警告:

“DesktopAppConverter:警告'W_COM_DARWIN_INSTALLATION_NOT_SUPPORTED':COM:打包的应用程序不支持Darwin安装。 CLSID {C27CCE3B-8596-11D1-B16A-00C0F0283628} 的 InprocServer32 子项的 InprocServer32 值应替换为默认(未命名)值 指定包中服务器的路径。否则,创建此类的尝试将失败。”

听起来我想在某处禁用此 DARWIN 功能,但有关此的信息非常稀少。似乎这些警告是在某些 OCX(是的,我知道)控件上给出的,但也来自设置中包含的合并模块的组件。有谁知道如何摆脱这些警告?它们目前阻止转换器运行,但一些手动 makeAppX 步骤似乎允许我生成 AppX,但是当程序启动时,每次我进入具有这些 ocx 控件的窗口时都会快速弹出。

【问题讨论】:

    标签: installshield-le makeappx


    【解决方案1】:

    我也有这个问题。我最近用许多 DLL 和 OCX 库转换了一个 VB6 应用程序。这是一个乏味的过程,具体取决于您拥有的 COM 对象的数量。步骤如下。

    1. 打开 RegEdit(以管理员身份)
    2. 选择HKEY_LOCAL_MAHCHINE节点
    3. 选择File | Load Hive
    4. 在您的 APPX packagefiles 文件夹中导航并选择您的 Registry.dat 文件
    5. 将节点命名为APPX_ROOT
    6. APPX_ROOT 节点导出到名为APPX_ROOT.reg 的文件中
    7. 在文本编辑器(具有良好的全局查找/替换功能,如记事本++)中打开APPX_ROOT.reg 文件
    8. 搜索文本hex(7)。这将跳转到您需要替换的第一个值。它应该以"InprocServer32"=为前缀
    9. 复制 regkey 的 @(默认)值(上一行)。
    10. 突出显示以“hex(7)”开头到十六进制数字末尾的 InprocServer32 的内容。
    11. 如果使用 Notepad++,请按 CTRL+H。 FIND 字段应该是选定的十六进制值。将 @ 值粘贴到替换字段中。进行全局替换以节省时间。所以你应该得到如下所示的行:
      @="[{AppVPackageRoot}]\\filename.dll"
      "InprocServer32"="[{AppVPackageRoot}]\\filename.dll"
      
    12. 重复步骤 8 到 11,直到所有 hex(7) 实例都被替换。
    13. 保存APPX_ROOT.reg文件
    14. APPX_ROOT.reg 文件合并回注册表(右键单击APPX_ROOT.reg 并选择Merge 命令或使用regedit)
    15. 在regedit中选择APPX_ROOT节点
    16. 选择File|Unload Hive。选择 YES 卸载注册表文件。
    17. 关闭注册表

    这允许桌面桥正确定位和实例化您的 COM 对象。使用更新的 Registry.dat 构建您的 APPX 包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多