Alter appsettings.json с именем экземпляра SQL при установке (wix)
Привет,
Я создаю это приложение, которое опирается на SQL Server. Я создал проект установки для самого приложения, и создание начальной загрузки для установки sql server отсутствует. Теперь мне нужно выяснить, каково имя экземпляра, чтобы передать его моему установщику, чтобы я мог изменить файл appsettings.json при установке, чтобы он указывал на правильный sql-сервер.
Я также беспокоюсь о том, когда я доберусь до сценария обновления.. как управлять слиянием существующих наборов приложений с новыми потенциальными изменениями, когда пользователь запускает установщик для более новой версии?
Итак... нужно ли мне пользовательское действие в моем базовом установщике? Как мне передать ему найденное имя экземпляра ... и если его нет...
Я не совсем новичок в Wix, но еще далек от эксперта...
Что я уже пробовал:
Мои основные установки:
<?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util='http://schemas.microsoft.com/wix/UtilExtension'> <Product Id="127168FB-470F-4B06-9780-4478143A05A3" Name="TM Server" Language="1033" Version="!(bind.fileVersion.filC762F4BC2B54E0905E8593724C7DEBB1)" Manufacturer="Applicity Systems" UpgradeCode="a9867aec-7660-4fa6-8425-d3599a697861"> <Package InstallerVersion="300" Compressed="yes" Platform="x64" InstallPrivileges="elevated" InstallScope="perMachine" /> <MajorUpgrade DowngradeErrorMessage="A newer version of TM Server is already installed." /> <MediaTemplate EmbedCab="yes" /> <Feature Id="ProductFeature" Title="TMServerSetup" Level="1" ConfigurableDirectory="APPLICATIONROOTDIRECTORY" TypicalDefault="install" Absent="disallow"> <ComponentGroupRef Id="TMServerPayload" /> </Feature> </Product> <Fragment> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFiles64Folder"> <Directory Id="CompanyFolder" Name="Applicity Systems"> <Directory Id="APPLICATIONROOTDIRECTORY" Name="TM Server" /> </Directory> </Directory> </Directory> </Fragment> </Wix>
Мой начальной загрузки
<wix xmlns="http://schemas.microsoft.com/wix/2006/wi" ="" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"> <bundle name="TMServer" version="1.0.0.0" manufacturer="Applicity Systems" upgradecode="3a843d59-e6bd-43a9-8965-cafc81047ef3" copyright="2020 - Applicity Systems" disablemodify="yes"> <bootstrapperapplicationref id="WixStandardBootstrapperApplication.RtfLicense"> <bal:wixstandardbootstrapperapplication licensefile="EULA.rtf" suppressoptionsui="yes"> <chain> <packagegroupref id="SQLServerExpress"> <packagegroupref id="InstallerPackages"> <fragment> <property id="MsiLogging" value="voicewarmup!"> <util:registrysearch id="SqlInstanceKeyFoundSearch" ="" root="HKLM" key="SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" value="$(var.InstanceName)" result="exists" variable="SqlInstanceKeyFound" win64="yes"> <packagegroup id="SQLServerExpress"> <exepackage compressed="no" ="" displayname="Installing SQL Server Express 2019" permachine="yes" cache="yes" vital="yes" permanent="no" installcommand="/IACCEPTSQLSERVERLICENSETERMS /HIDECONSOLE /INSTANCEID="$(var.InstanceName)" /ACTION="Install" /FEATURES=SQLENGINE /HELP="False" /INDICATEPROGRESS="False" /QUIET="True" /QUIETSIMPLE="False" /ERRORREPORTING="False" /SQMREPORTING="False" /INSTANCENAME="$(var.InstanceName)" /AGTSVCSTARTUPTYPE="Manual" /ISSVCSTARTUPTYPE="Automatic" /ISSVCACCOUNT="NT AUTHORITY\NetworkService" /ASSVCSTARTUPTYPE="Automatic" /ASCOLLATION="Latin1_General_CI_AS" /ASDATADIR="Data" /ASLOGDIR="Log" /ASBACKUPDIR="Backup" /ASTEMPDIR="Temp" /ASCONFIGDIR="Config" /ASPROVIDERMSOLAP="1" /SQLSVCSTARTUPTYPE="Automatic" /FILESTREAMLEVEL="0" /ENABLERANU="True" /SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS" /SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /ADDCURRENTUSERASSQLADMIN="True" /TCPENABLED="0" /NPENABLED="0" /BROWSERSVCSTARTUPTYPE="Disabled" /RSSVCSTARTUPTYPE="Automatic" /RSINSTALLMODE="FilesOnlyMode"" uninstallcommand="/Action=Uninstall /INSTANCENAME="$(var.InstanceName)" /FEATURES=SQLENGINE /QUIET="True" /HIDECONSOLE" installcondition="NOT SqlInstanceKeyFound" downloadurl="https://download.microsoft.com/download/7/c/1/7c14e92e-bdcb-4f89-b7cf-93543e7112d1/SQLEXPR_x64_ENU.exe" name="SQLEXPR_x64_ENU.exe"> <remotepayload certificatepublickey="5FCDD851BFFDA72C15B53C6F3B14E1E773E590BE" certificatethumbprint="E942D27A35DCBBE072872AD9E9E0AC4C948A7864" description="Microsoft SQL Server 2019 Express" hash="A0086387CD525BE62F4D64AF4654B2F4778BC98D" productname="Microsoft SQL Server 2019 Express" size="261082544" version="15.0.2000.5"> <fragment> <property id="MsiLogging" value="voicewarmup!"> <packagegroup id="InstallerPackages"> <msipackage id="TMServer" displayname="TM Server" cache="yes" compressed="yes" sourcefile="$(var.TMServerSetup.TargetPath)" vital="yes" forcepermachine="yes">