0

I have two installers created using wix(version 3.11). The installers are sharing few dll/ocx files(Old VB modules).

The installers are working fine, when installed alone. Or when both installers installed. But if i uninstalled any one application, then other one is not start (not even starting).

I am using following kind of Component tag.

  <Component Id="cmpFF2764B47716F09AAAEBF0C6DC2324E9" Guid="{6A11D493-3293-45DE-B169-B624A26B6D98}" Shared="yes" SharedDllRefCount="yes">
    <File Id="filB539B5FD161C1FA29A10F82339F88A83" KeyPath="yes" Source="$(var.SourceBasePath)\COMMON_FILES\Common\Servers\libsrv.dll" SelfRegCost="1"/>
  </Component>

I couldn't able to harvest dll using heat.exe due to error error CNDL0047 : The TypeLib element is non-advertised and therefore requires a parent File element. (https://github.com/wixtoolset/issues/issues/3412/) . So I made it as SelfReg. Now i stuck with this issue. Any clues to resolve this issue??

thanga
  • 163
  • 2
  • 13
  • 1
    It is probably something more involved, but shooting from the hip: [please open this page](http://wixtoolset.org/documentation/manual/v3/overview/heat.html) and search for **`-svb6`**. Verify that those entries are still in the registry after uninstall of one MSI. At least worth a check. – Stein Åsmul Dec 03 '18 at 23:43
  • Have you analyzed with ProcMon.exe to find the missing registration that is causing the problem? I can provide details on this later, but not right now. – Stein Åsmul Dec 07 '18 at 09:07
  • I want to mention [registrationless COM](https://msdn.microsoft.com/en-us/library/ms973913.aspx) - essentially putting registry entries in a manifest file instead. [SO answer](https://stackoverflow.com/questions/465882/generate-manifest-files-for-registration-free-com). Not trivial, but possible for VB6 deployment without registry involvement. I would recommend **``procmon.exe``** first to see if it is something trivial. For example a shared registry key that is missing. – Stein Åsmul Dec 08 '18 at 07:21

1 Answers1

1

Virtualization: Are you in a corporate environment with these applications? Can you use a modern App-V package instead? This is a package that is basically installed on demand (on launch) and allows the appliation it deploys to run "sandboxed" or isolated from other applications on the system. Interference problems should be gone. You can also use a virtual machine via systems such as VMWare to run the problematic application(s) in their own operating system. Virtual machines also allow you to run certain applications with admin rights if that is desired. If there is a packaging team in your company, have a word with them?

The reason I suggest the above is that I know VB6 applications are basically hopeless to deploy. They have all kinds of weird problems that take forever to fix and the fix is never that good.

Stein Åsmul
  • 39,960
  • 25
  • 91
  • 164
  • Thanks for your reply. Unfortunately, i cannot use the App-V packaging tools.I will try to use the option `-svb6` as you suggested. – thanga Dec 06 '18 at 07:11
  • What platforms are you targeting? Windows 10? – Stein Åsmul Dec 06 '18 at 11:59
  • We have to support,Windows 2012, to 2016, similarly need to support Windows 7 and Windows 10. But the build machine is Windows 2003 :( . – thanga Dec 07 '18 at 08:14