2016-07-12 9 views
0

У меня есть установка WIX, которая позволяет пользователю выбирать место установки. При удалении мне нужно запустить настраиваемое действие, которое должно активировать файл в месте установки. Я попытался получить место установки с session["INSTALLDIR"], но это приводит к пути по умолчанию, а не к заданному пользователем.Место установки Wix

Как добраться до этого места?

ответ

0

Я сделал это в моем собственном инсталлятор - должно работать.

Это добавляет свойство для извлечения значения места установки из реестра.

<Property Id="INSTALLDIR"> 
    <RegistrySearch Id='Registry' Type='raw' Root='HKCU' Key='Software\$(var.Manufacturer)\$(var.ProductName)' Name='Location' /> 
</Property> 

Это устанавливает место установки в реестре.

<Component Id="Registry" Guid="*"> 
    <RegistryKey Root="HKCU" Key="Software\$(var.Manufacturer)\$(var.ProductName)"> 
     <RegistryValue Name="Location" 
         Type="string" 
         Value="[INSTALLDIR]" 
         Action="write" 
         KeyPath="yes" /> 
    </RegistryKey> 
    <util:RemoveFolderEx On="uninstall" Property="INSTALLDIR" /> 

1

Если вы хотите установить INSTALLDIR на более поздний срок, например, удаление, вы должны использовать свойство свойства помпы, описанное в ссылке ниже.

«Корневая проблема заключается в том, что установщик Windows не сохраняет значения свойства для вас. Это означает, что если пользователь вводит значения в установочный интерфейс или передает их в командной строке, эти значения не будут присутствовать во время ремонта , обновить или удалить ».

http://robmensching.com/blog/posts/2010/5/2/the-wix-toolsets-remember-property-pattern/

+0

Я добавил значение реестра, но я не могу управлять, чтобы правильно заполнить его. Как установить каталог установки в свойство? – Lipo