I am working on a project that accepts the Wix data from decompiling an MSI, and incorporates the source file path table that w开发者_运维知识库as exported from Wise for Windows Installer. The only problem I am running into is that Wix is looking for a directory for the files that were included in the Merge Modules (I think). I want to check if the missing files are in the merge module and then give Wix that path to use. The BIG problem is that I need to do this all dynamically as the program is running. I.E. open the MSM and check if a file exists within. Is this possible? If so any help, guidance, or rays of hope that could be given would be priceless! Thanks in advance!
EDIT:: I should probably add that I am writing this program in C# with .NET 3.5 SP1.
Windows Installer databases (such as msm and msi files) can be inspected with the Deployment Tools Foundation (also known as "DTF") libraries. These libraries are the managed wrappers for the windows installer SDK. They are part of the wix project.
If you have wix 3.0 installed, you can find the DTF assemblies in C:\program files\Windows Installer XML v3\sdk
.
The documentation can be found in C:\Program Files\Windows Installer XML v3\doc\
in the files dtf.chm
and dtfapi.chm
.
精彩评论