Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wix 如果指定了参数,则写入注册表_Wix_Registry_Windows Installer - Fatal编程技术网

Wix 如果指定了参数,则写入注册表

Wix 如果指定了参数,则写入注册表,wix,registry,windows-installer,Wix,Registry,Windows Installer,我有一个设置,它有一个可选的参数,应该写入提供的注册表。我知道我可以使用以下方式写入注册表: <DirectoryRef Id="TARGETDIR"> <Component Id="RegistryEntries" Guid="*"> <RegistryKey Root="HKCU" Key="Software\Microsoft\Test" Action="create

我有一个设置,它有一个可选的参数,应该写入提供的注册表。我知道我可以使用以下方式写入注册表:

<DirectoryRef Id="TARGETDIR">
    <Component Id="RegistryEntries" Guid="*">
        <RegistryKey Root="HKCU"
                     Key="Software\Microsoft\Test"
              Action="create">
            <RegistryValue Type="string" Value="[THEPARAMETER]"/>
        </RegistryKey>
    </Component>
</DirectoryRef>


但是,如果未指定参数,这将使用emtpy字符串覆盖现有注册表项


我想知道只有在指定了参数的情况下如何设置注册表项。我已经研究了自定义操作和writeRegistryValue,但没有发现任何有用的内容。

添加如下条件

<Condition>(THEPARAMETER AND (NOT Installed))</Condition>
<RegistryValue Type="string" Value="[THEPARAMETER]"/>
(参数和(未安装))