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

deploying InstallShield.Interop.Msi.dll for use by managed assembly custom action

I am trying to use InstallShield.Interop.Msi.dll from a .Net custom action. I am deploying the assembly within a property table. However whatever I do I get an error:

System.IO.FileNotFoundException: Could not load file or assembly 'InstallShield.Interop.Msi, Version=17.0.0.714,....

I tried to deploy the file as a regular component, as a support file and also add it to the Binary MSI table, but non of that worked.

Any ideas how to deploy the assembly so that it is accessible during installation?
Labels (1)
0 Kudos
(6) Replies
Christopher_Pai
Level 16

Google WiX DTF Custom Actions. It's Free Open Source that has a C# Custom Action project type for Visual Studio and can easily be consumed by an InstallShield project. ( C++ MSI type ). It automatically handles packaging your dependencies including MSI interop for you.
0 Kudos
mdikov
Level 3

Thanks for the suggestion, but I am still looking at how to use InstallShield interop with InstallShield.
0 Kudos
Christopher_Pai
Level 16

You might want to look into that suggestion a little before dismissing it out of hand. FWIW I've been writing installers for 16 years and have a bit of experience to draw on when trying to help people with their problems.
0 Kudos
mdikov
Level 3

I tried the CustomActions from the Wix toolkit, however when I try to declare the CA in InstallShield I get an error that the assembly Microsoft.Deployment.Windows.Installer cannot be loaded.

Not sure if they are even compatible considering that the default param on CA in IS is handle and in the Wix CA is session.
0 Kudos
mdikov
Level 3

I was not calling this correctly. I tried to add the CA as a managed assembly, but it looks like the tools package all in a MSI DLL. Thanks for the tip, much appreciated!
0 Kudos
Christopher_Pai
Level 16

Glad to hear it's working. My first article on DTF can be found at:

http://blog.deploymentengineering.com/2008/05/deployment-tools-foundation-dtf-custom.html

Others include:

http://blog.deploymentengineering.com/2008/07/reasons-dtf-is-better.html

http://blog.deploymentengineering.com/2008/05/data-driven-cas-made-easy-with-dtf.html

http://blog.deploymentengineering.com/2009/02/msi-tip-authoring-ice-using-c-dtf.html

There's some other content but this one gives you the basics of how the managed assembly gets encapsulated as an unmanaged ( MSI Type 1 CA ) dll that MSI and InstallShield can understand.
0 Kudos