HHGM Ответов: 0

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

0 Ответов