WiX配置:使用本地应用程序数据路径编辑注册表

WiX配置:使用本地应用程序数据路径编辑注册表,wix,wix3,wix3.8,wix3.9,Wix,Wix3,Wix3.8,Wix3.9,我们的WiX安装程序配置为通过向某些现有密钥添加以下值来编辑注册表: 名称:“Shell” 值:“{LocalAppData}\MyApplication\MyApplication.exe” 现在我已经硬输入了值,但这显然是非常平台和用户特定的 <Component Id="RegistryEntries"> <RegistryKey Root="HKCU" Key="Software\Microsoft\Windows NT\CurrentVers

我们的WiX安装程序配置为通过向某些现有密钥添加以下值来编辑注册表:

名称:
“Shell”

值:
“{LocalAppData}\MyApplication\MyApplication.exe”

现在我已经硬输入了值,但这显然是非常平台和用户特定的

<Component Id="RegistryEntries">
  <RegistryKey 
     Root="HKCU"
     Key="Software\Microsoft\Windows NT\CurrentVersion\Winlogon"
     ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
    <RegistryValue 
        Type="string" 
        Name="Shell" 
        Value="C:\Users\Dave\AppData\Local\MyApplication\MyApplication.exe"/>
  </RegistryKey>
</Component>

您正在将注册表值创建为[AppDataFolder]以将其解析为完整路径


但是,看起来您需要可能要安装的可执行文件的路径,因此更好的方法是对该文件使用[#filekey]

要在Microsoft Windows Installer WIX项目期间访问标准目录,请声明正确的Windows Installer目录,然后定义每个子文件夹-



您有[AppDataFolder]属性(以及类似属性!),请参阅列表:在此上下文中如何使用该变量?
<Component Id="RegistryEntries">
  <RegistryKey 
     Root="HKCU"
     Key="Software\Microsoft\Windows NT\CurrentVersion\Winlogon"
     ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
    <RegistryValue 
        Type="string" 
        Name="Shell" 
        Value="[LocalAppData]\MyApplication\MyApplication.exe"/>
  </RegistryKey>
</Component>
ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes"
  <Directory Id="LocalAppDataFolder">    <!--  C:\Users\[LogonUser]\AppData\Local\  -->
    <Directory Id="Microsoft_FOLDER" Name="Microsoft" ShortName="MICROSOF">                       <!--  C:\Users\[LogonUser]\AppData\Local\Microsoft\  -->
      <Directory Id="InternetExplorer_FOLDER" Name="Internet Explorer" ShortName="INTERNET">     <!--  C:\Users\[LogonUser]\AppData\Local\Microsoft\Internet Explorer\  -->
        <Directory Id="QuickLaunchFolder" Name="Quick Launch"  ShortName="QUICKLAU" />           <!--  C:\Users\[LogonUser]\AppData\Local\Microsoft\Internet Explorer\Quick Launch\    End of QuickLaunchFolder  -->
      </Directory>          <!-- End of InternetExplorer_FOLDER -->
    </Directory>        <!-- End of Microsoft_FOLDER  -->
  </Directory>      <!-- End of LocalAppDataFolder  -->