2015-02-17 14 views
0

Наша WiX инсталлятор настроен для редактирования реестра, добавив следующее значение к некоторому существующему ключу:конфигурации 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> 

Как определить и использовать локальную папку данных приложения для системы?

Я использую WiX 3.9 для Visual Studio 2013.

EDIT:

я сделал следующее, и очистить все значения реестра из этого ключа:

<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> 

Почему это произойдет?

EDIT 2:

Nevermind, я вижу, что эти свойства будут принудительно обновить весь ключ:

ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" 
+0

Вы [AppDataFolder] свойство (и похоже!), Смотрите список : http://wixtoolset.org/documentation/manual/v3/bundle/bundle_built_in_variables.html –

+0

Как использовать переменную в этом контексте? – davenewza

+0

См. Править. – davenewza

ответ

2

Ты создать значение реестра, как [AppDataFolder], чтобы разрешить его на полный путь.

Однако, похоже, что вы хотите, чтобы путь к исполняемому файлу был установлен, поэтому лучше работает [#filekey] для этого файла.

+0

См. Править. – davenewza

0

Чтобы получить доступ к стандартной директории в ходе проекта Microsoft Windows Installer WIX, объявить правильный каталог для Windows Installer, а затем определения каждой ПОДПАПКИ - https://msdn.microsoft.com/en-us/library/aa369768(v=vs.85).aspx

<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 -->