0

I am trying to convert a legacy Visual FoxPro 9 application that uses an InstallShield 2015 LE installer so we could deploy using the windows store. If I let the singleImage installer be converted it spouts a lot warning: 

"DesktopAppConverter : warning 'W_COM_DARWIN_INSTALLATION_NOT_SUPPORTED': COM: Darwin installation is not supported for packaged applications. The InprocServer32 value of the InprocServer32 subkey of CLSID {C27CCE3B-8596-11D1-B16A-00C0F0283628} should be replaced with a default (unnamed) value that specifies the path to a server in the package. Otherwise, attempts to create this class will fail."

It sounds like I want to disable this DARWIN feature somewhere but information about this is very very scarse. It seems these warnings are given on some OCX (yes I know) controls but also components from the merge modules included in the setup. Does anyone know how to get rid of these warnings? They currently prevent the convertor from running, but some manual makeAppX steps do seem to allow me to generate an AppX but when the program is started there is a fast popup each time I enter windows that have these ocx controls.

1 Answers1

0

I also had this issue. I converted a VB6 app recently with many DLL and OCX libraries. This is a tedious process, depending on the number of COM objects you have. Here are the steps.

  1. Open RegEdit (as adminisrator)
  2. Select HKEY_LOCAL_MAHCHINE node
  3. Select File | Load Hive
  4. Navigate and select your Registry.dat file in your APPX packagefiles folder
  5. Name the node APPX_ROOT
  6. Export the APPX_ROOT node to a file named APPX_ROOT.reg
  7. Open the APPX_ROOT.reg file in a text editor (one that has good global find/replace features, like notepad++)
  8. Search for text hex(7). This will jump you to the first value you need to replace. It should be prefixed by "InprocServer32"=
  9. Copy the value of the @ (default) value of the regkey (line above).
  10. Highlight the contents of InprocServer32 starting with 'hex(7)' to the end of the hex digits.
  11. If using Notepad++ press CTRL+H. The FIND field should be the selected hex values. Paste the @ value into the Replace field. Do a global replace to save time. So you should end up with lines that look like this:
    @="[{AppVPackageRoot}]\\filename.dll"
    "InprocServer32"="[{AppVPackageRoot}]\\filename.dll"
    
  12. Repeat steps 8 through 11 until all hex(7) instances have been replaced.
  13. Save the APPX_ROOT.reg file
  14. Merge the APPX_ROOT.reg file back into the registry (right-click APPX_ROOT.reg and choose the Merge command or use regedit)
  15. Select the APPX_ROOT node in regedit
  16. Select File|Unload Hive. Choose YES to dismount the registry file.
  17. Close regedit

This allows the Desktop Bridge to properly locate and instantiate your COM objects. Build your APPX Package with the updated Registry.dat.

Derek Wade
  • 697
  • 8
  • 11