我需要计算 MSI 中文件的相对路径。目前,我正在查询File表以获取 FileName 对应的 Component。然后,我正在使用这个组件来查询组件表并找到 Directory_。接下来我用这个Directory_查询Directory表,找到Directory_的Parent Directory。
随后,我一直在 Directory 表中查询 Parent_Directory 到我以前的 Parent 并构建文件的路径,直到我点击 $TARGETDIR。这里我只是替换 $TARGETDIR 的属性值来获取绝对路径。
我的问题是,由于所有这些都需要跨 MSI 数据库中的表进行大量查询,因此会对性能产生相当大的影响。C++ 中是否有任何 API 或 VC++ 中的任何库以不同的方式实现它,或者 Microsoft 是否提供类似(但现成的)解决方案?将非常感谢任何形式的帮助!
谢谢,香卡