无法通过Wix制作系统DSN
这是我的测试代码
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="TestProduct" Language="1033" Version="0.0.0.1" Manufacturer="WixEdit" UpgradeCode="*">
<Package Description="Test file in a Product" Comments="Simple test" InstallerVersion="200" Compressed="yes" />
<Media Id="1" Cabinet="simple.cab" EmbedCab="yes" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Component Id="C_PROD_DSN" Guid="*">
<ODBCDataSource Id="Prod_Dsn" Name="SomeName" Registration="machine" DriverName="ODBC Driver 11 for SQL Server">
<Property Id="Description" Value="Some Description" />
<Property Id="Database" Value="SomeDB" />
<Property Id="Language" Value="us_english" />
<Property Id="LastUser" Value="SomeUser" />
<Property Id="Driver" Value="C:\windows\system32\msodbcsql11.dll" />
</ODBCDataSource>
</Component>
</Directory>
<Feature Id="DefaultFeature" Title="Main Feature" Level="1">
<ComponentRef Id="C_PROD_DSN" />
</Feature>
<UI />
</Product>
</Wix>
Wix Edit编译它很好但是当我运行它时我得到了
配置ODBC数据源时出错:SomeName。 ODBC错误6:在注册表中找不到组件。验证文件SomeName是否存在以及您是否可以访问它。
这是SQL DB的DSN,而不是文件。
我知道我可以通过构建我需要的注册表树来完成这项工作,我只想尝试使用内置的任务功能。
可以使用ODBCDataSource完成吗? (没有自定义操作,我现在没有时间写另一个)或者我应该减少我的损失并使用RegistryKey和RegistryValue来做它?