Wix v3.7 - 如何将ODBC驱动程序合并到我的安装程序中?

时间:2013-08-25 22:19:22

标签: wix registry odbc windows-installer orca

我正在为工作中的程序创建一个新的安装程序,我在注册psqlodbc驱动程序时遇到问题。不幸的是,我不太了解安装程序或odbc驱动程序。

我有这个特定程序的旧安装程序的副本,该程序是由其他人创建的。当我使用Orca查看msi中的注册表时,我可以看到几个与psqlodbc相关的条目:

**Registry**            **Key**                                 **Name**            **Value**
psqlodbc.reg.1.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers PostgreSQL          Installed
psqlodbc.reg.2.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL   APILevel            1
psqlodbc.reg.3.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL   ConnectFunctions    YYN
psqlodbc.reg.4.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL   Driver              [#psqlodbc.dll.<GUID>]
psqlodbc.reg.5.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL   DriverODBCVer       03.00
psqlodbc.reg.6.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL   FileUsage           0
psqlodbc.reg.7.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL   Setup               [#psqlodbc.dll.<GUID>]
psqlodbc.reg.8.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL   SQLLevel            1
psqlodbc.reg.9.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL   UsageCount          #1

但是,当我尝试使用heat收集psqlodbc.dll文件以便将其合并到我的安装程序中时,.wxs文件中显示的所有内容都是文件元素(没有注册表数据)。我已经尝试使用regsvr32手动注册,但这给了我一个关于“入口点”找不到的错误。

基本上,旧安装程序正在为psqlodbc驱动程序创建注册表项,我可以使用regedit查看,我不知道如何将此行为合并到我的新安装程序中。

这是我上周的工作,我真的很想在离开之前让这个安装程序正常工作。

请帮助!!

1 个答案:

答案 0 :(得分:1)

如果使用RegistryKeyRegistryValue元素从原始安装程序复制注册表项,它是否有效?它可能只是原始包中的手工编写的注册表值。