如何在WIX中设置注册表值?

维什努普拉萨德kv

我正在尝试为WiX中的安装位置设置注册表值。我想在本地计算机/软件中设置密钥,因此我使用了以下WiX文件。我没有收到任何构建错误,一切正常,但是未设置注册表值。

 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">

     <?define engage.client.app_TargetDir=$(var.engage.client.app.TargetDir)?>
     <Product Id="*" Name="EngageSetupCreator" Language="1033" Version="1.0.0.0" Manufacturer="KrimzenInc" UpgradeCode="PUT-GUID-HERE">
       <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" InstallPrivileges="elevated" AdminImage="yes" />

       <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
       <MediaTemplate />

      <Feature Id="ProductFeature" Title="EngageSetupCreator" Level="1">
        <ComponentGroupRef Id="ProductComponents" />
        <ComponentGroupRef Id="ProductComponents2" />
        <ComponentRef Id="InstallRegistryComponent"/>
        <!--<ComponentGroupRef Id="Assets"/>-->
      </Feature>
     </Product>
     <Fragment>
      <SetDirectory Id="INSTALLFOLDER" Value="[WindowsVolume]Engage" />
       <Directory Id="TARGETDIR" Name="SourceDir">
        <Directory Id="WINDOWSVOLUME">
         <Directory Id="SUB_FOLDER" Name="Engage">
          <Directory Id="INSTALLFOLDER" Name="EngageSetupCreator" >
            <Component Id="InstallRegistryComponent" Guid="*">
             <RegistryKey Id='ChessInfoBarInstallDir' Root='HKLM' Key='Software\Crimson\Engage' Action='createAndRemoveOnUninstall' >
              <RegistryValue Type='string' Name='InstallDir' Value="[INSTALLFOLDER]" Action="write" KeyPath="yes" />

             </Component>
            </Directory>
          </Directory>
        </Directory>
      </Directory>
     </Fragment>
     <Fragment>
      <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">

       <Component Id="engage.client.app.exe" Guid="*">
         <File Id="engage.client.app.exe" Name="engage.client.app.exe" Source="$(var.engage.client.app_TargetDir)engage.client.app.exe"  />
       </Component>


       <Component Id="CefSharp.BrowserSubprocess.exe" Guid="*">
         <File Id="CefSharp.BrowserSubprocess.exe" Name="CefSharp.BrowserSubprocess.exe" Source="$(var.engage.client.app_TargetDir)CefSharp.BrowserSubprocess.exe" />
       </Component>

      </ComponentGroup>-->



      <Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch KrimzenEngage" />

     <!-- Step 3: Include the custom action -->
     <Property Id="WixShellExecTarget" Value="[#engage.client.app.exe]" />
     <CustomAction Id="LaunchApplication"
        BinaryKey="WixCA"
        DllEntry="WixShellExec"
        Impersonate="yes" />

     </Fragment>

 </Wix>

但它没有设置值。我做错了什么?我在64位系统中运行它。

卡鲁姆·麦克劳德(Calum MacLeod)

在64位系统上,通常可以在“ HKLM \ Software \ WOW6432Node \ ExampleSoftware”中找到通常在“ HKLM \ Software \ ExampleSoftware”中找到的32位软件注册表项。点击这里获取更多信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在IntelliJ注册表中设置值?

如何在卸载时修改注册表项值而不从wix中的注册表中删除项?

WiX中带有&的注册表值

Wix:解析值并存储在注册表中

设置注册表值

Wix目录引用注册表值

如何在gpedit.msc中找到与设置相对应的注册表值?

注册表中的Unicode值(Inno设置5)

在批处理脚本中更改注册表值后,如何强制更新为代理设置?

如何在Java中设置骆驼上下文和注册表

如何在K8S集群中设置Docker注册表?

如何在.npmrc中为作用域注册表设置_auth?

如何在Windows 8.1中通过注册表设置该屏幕的颜色?

如何在Windows 10中将注册表还原为默认设置?

如何在Windows中为Docker工具箱设置注册表镜像

如何在Powershell中为其他用户更改特定的注册表设置

WIX:从对话框复选框设置注册表值

如何在wix安装程序的自定义操作中添加非常长的十六进制注册表?

如何使用Powershell在注册表项中获取注册表值的数据值

安装VB.net应用程序时如何在注册表中写入值?

WiX中的RegistrySearch对于注册表中的值未返回true

如何删除 C# 中的注册表值?

如何在Pyspark中获取kafka模式注册表?

骆驼通常如何在注册表中添加内容

如何在minikube注册表中创建docker镜像

如何在Windows 7中编辑注册表

如何在Qt中添加/更改注册表?

如何通过对Windows注册表的适当访问权限在WiX中启动PowerShell?

如何批量更改注册表值