我正在尝试转换使用InstallShield 2015 LE安装程序的旧版Visual FoxPro 9应用程序,以便我们可以使用Windows应用商店进行部署。如果我让singleImage安装程序被转换它会发出很多警告:
“DesktopAppConverter:warning'W_COM_DARWIN_INSTALLATION_NOT_SUPPORTED':COM:打包的应用程序不支持Darwin安装。 CLSID {C27CCE3B-8596-11D1-B16A-00C0F0283628}的InprocServer32子项的InprocServer32值应替换为默认(未命名)值, 指定包中服务器的路径。否则,尝试创建此类将失败。“
听起来我想在某处禁用这个DARWIN功能,但有关此信息的信息非常非常稀疏。似乎这些警告是在某些OCX(是的,我知道)控件上给出的,但也是来自设置中包含的合并模块的组件。有谁知道如何摆脱这些警告?它们目前阻止转换器运行,但是一些手动makeAppX步骤似乎允许我生成AppX,但是当程序启动时,每次进入具有这些ocx控件的窗口时都会有一个快速弹出窗口。
答案 0 :(得分:0)
我也遇到过这个问题。我最近用许多DLL和OCX库转换了一个VB6应用程序。这是一个繁琐的过程,具体取决于您拥有的COM对象的数量。以下是步骤。
HKEY_LOCAL_MAHCHINE
节点File | Load Hive
Registry.dat
文件夹packagefiles
文件
APPX_ROOT
APPX_ROOT
节点导出到名为APPX_ROOT.reg
APPX_ROOT.reg
文件(具有良好的全局查找/替换功能,如记事本++)hex(7)
。这将跳转到您需要替换的第一个值。它应该以{{1}} "InprocServer32"=
(默认值)值(上面一行)。@
值粘贴到“替换”字段中。做全球替换以节省时间。所以你应该得到如下所示的行:
@
@="[{AppVPackageRoot}]\\filename.dll"
"InprocServer32"="[{AppVPackageRoot}]\\filename.dll"
个实例都被替换。hex(7)
文件APPX_ROOT.reg
文件合并回注册表(右键单击APPX_ROOT.reg
并选择APPX_ROOT.reg
命令或使用regedit)Merge
节点APPX_ROOT
。选择“是”以卸载注册表文件。这允许Desktop Bridge正确定位和实例化COM对象。使用更新的Registry.dat构建您的APPX包。