Showing results for 
Show  only  | Search instead for 
Did you mean: 
Level 3

Custom Action DLL in the Binary Table


This is more of a general MSI rather than an InstallShield question.

I have 2 dlls, one of which accesses a method in the other. Together, they exist to implement a Custom Action. I'd like the Custom Action to be run Immediate Mode, and fire very early in the InstallUISequence, in order to implement something like a LaunchCondition, which means the files in the package have not yet been installed.

I have implemented DLL CAs using DLLs streamed in the Binary Table, to do this sort of thing. Now if my wishes all come true, I'd like to have one such dll call another. I've never even heard of any such thing - it it even possible?

Labels (1)
0 Kudos
(2) Replies
Level 12 Flexeran
Level 12 Flexeran

When Windows Installer extracts the .dll from the Binary table, it uses a temporary file name, so it is impossible to find another .dll even if it has already been extracted. When your entry point is an executable, we suggest using Support files, and then write your custom actions to reference [SUPPORTDIR]\your.exe, but I'm not sure how best to handle the .dll case; perhaps place the dependency .dlls in SUPPORTDIR and reference them from a helper .dll in the binary table?
0 Kudos
Level 4

stream both DLLs from the binary table and then you can do whatever you want with it
0 Kudos