如何使用WiX 3.0部署注册表项和值?

时间:2008-09-24 10:52:53

标签: deployment wix windows-installer

如果我想创建注册表项

  

HKEY_LOCAL_MACHINE \ SYSTEM \ CURRENTCONTROLSET \服务\事件日志\应用程序\ MyApp的

使用字符串值

  

EventMessageFile:C:\ Path \ To \ File.dll

如何在WiX 3.0 WXS文件中定义此内容?非常感谢XML应该是什么样子的例子。

5 个答案:

答案 0 :(得分:5)

您似乎想要创建事件日志源。如果是这种情况,您应该查看util扩展中的<EventSource>元素。

答案 1 :(得分:1)

结帐this page。一个例子是:

<registry action="write" 
 root"HKLM" key="SYSTEM\CurrentControlSet\Services\Eventlog\Application\MyApp"
 type="string" value="EventMessageFile : C:\Path\To\File.dll" />

答案 2 :(得分:1)

我接受了这个:

<Component Id="EventLogRegKeys" Guid="{my guid}">
    <RegistryKey Id="Registry_EventLog" Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\Eventlog\Application\MyApp" Action="create">
        <RegistryValue Id="Registry_EventLog_EventSourceDll" Action="write" KeyPath="yes" Name="EventMessageFile" Type="string" Value="C:\Path\To\File.dll" />
    </RegistryKey>  
</Component>

答案 3 :(得分:1)

最好使用文件引用语法引用File.dll,以确保使用它所安装的实际路径。使用[#filekey],其中filekey是描述该文件的Id元素的File

答案 4 :(得分:0)

在DirectoryRef下使用以下内容 - &gt;目录...

&lt; Component Id =“RegisterAddReferencesTab32”Guid =“D9D01248-8F19-45FC-B807-093CD6765A60”&gt;

&lt; RegistryValue Action =“write”Id =“RegInstallDir32”Key =“HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Eventlog \ Application \ MyApp“Root =”HKLM“Type =”string“Value =”C:\ Path \ To \ File.dll“/&gt;

&lt; / Component&gt; < p>