2015-05-21 7 views
0

Я попытался сделать это несколькими способами. Вот моя последняя попытка, которая не работает, но должна помочь проиллюстрировать то, что я ищу.WiX Toolset - Как определить путь DATA SQL Server

Примечание. Мое предположение для идентификатора GetSQLServerInstalledInstance заключается в том, что он вернет один экземпляр.

Моя цель - найти путь к каталогу DATA для экземпляра SQL Server, установленного на компьютере, который также будет устанавливать продукт моих компаний.

<util:RegistrySearch Id='GetSQLServerInstalledInstance' 
    Variable='SQL_SERVER_INSTALLED_INSTANCE' 
    Root='HKLM' 
    Key='SOFTWARE\Microsoft\Microsoft SQL Server' 
    Value="InstalledInstances" 
    Format="raw" /> 
<util:RegistrySearch Id='GetSQLServerInstalledInstanceName' 
    Variable='SQL_SERVER_INSTALLED_INSTANCE_NAME' 
    Root='HKLM' 
    Key='SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL' 
    Value="[SQL_SERVER_INSTALLED_INSTANCE]" 
    Format="raw" 
    After="GetSQLServerInstalledInstance" /> 
<util:RegistrySearch Id='GetSQLServerInstallPath' 
    Variable='SQL_SERVER_INSTALL_PATH' 
    Root='HKLM' 
    Key='SOFTWARE\Microsoft\Microsoft SQL Server\[SQL_SERVER_INSTALLED_INSTANCE_NAME]\Setup' 
    Value="SQLPath" 
    Format="raw" 
    After="GetSQLServerInstalledInstanceName" /> 
<SetProperty Id='SQL_SERVER_FILE_PATH' Value="[SQL_SERVER_INSTALL_PATH]\DATA" After="CostFinalize" Sequence="first" /> 

В конце концов, я ищу для свойства SQL_SERVER_FILE_PATH, чтобы содержать этот путь. (например, C: \ Program Files \ Microsoft SQL Server \ MSSQL11.MSSQLSERVER \ MSSQL \ DATA)

Также важно, чтобы вызовы были последовательно упорядочены, при этом последующие вызовы могут содержать информацию, полученную из предыдущих вызовов.

Я по-прежнему довольно новичок в WiX, но я мог представить, как это сделать довольно легко, если элемент SetProperty разрешил дочернему элементу RegistrySearch установить его значение. Может ли это быть обработано последовательностью CustomActions, которая будет действовать аналогично элементу SetProperty, который позволяет дочернему элементу RegistrySearch устанавливать его значение?

Благодаря

ответ

0

я нашел более простой способ для определения пути каталога данных SQL Server с помощью WiX. Для дальнейшего использования, это было, как я решил эту проблему:

<Property Id='SQL_SERVER_INSTALL_PATH'> 
    <RegistrySearch Id='GetSQLServerInstallPath' Root='HKLM' 
        Key='SOFTWARE\Microsoft\MSSQLServer\Setup' 
        Name='SQLPath' Type='directory' Win64="yes" /> 
</Property> 
<SetProperty Id='SQL_SERVER_DATA_PATH' Value="[SQL_SERVER_INSTALL_PATH]DATA" After="CostFinalize" Sequence="first" /> 

Надеется, что это помогает другому

 Смежные вопросы

  • Нет связанных вопросов^_^