第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢測機(jī)器中運(yùn)行的 SQLCMD 的正確方法 - WIX 安裝程序先決條件

檢測機(jī)器中運(yùn)行的 SQLCMD 的正確方法 - WIX 安裝程序先決條件

C#
冉冉說 2021-06-01 16:14:07
我正在編寫一個自定義操作來使用先決條件來檢測 SQLCMD 是否正在機(jī)器上工作。我可以使用下面的代碼檢查機(jī)器上是否有 SQLCMD。在安裝程序中,我們使用 CMDPrompt 來處理 SQLCMD,但如果機(jī)器在環(huán)境變量中沒有 SQLCMD 路徑,它將無法工作。但我也想知道為什么 CMDprompt 給出'sqlcmd' is not recognized as an internal or external command error.[CustomAction]        public static ActionResult FindSqlCMD(Session session)        {            DebugMsg(session, "Start FindSqlCMD");            string[] sqlVersions = session["SQLVERSIONS"].Split(';');            List<RegistryKey> sqlKeys = new List<RegistryKey>();            var sqlDacPaths = new string[] { "C:\\Program Files (x86)\\Microsoft SQL Server\\{0}\\DAC\\bin", "C:\\Program Files\\Microsoft SQL Server\\{0}\\DAC\\bin" };            var sqlPackageName = "SqlPackage.exe";            foreach (string SqlVersion in sqlVersions)            {                foreach (var sqlDacPath in sqlDacPaths)                {                    var path = string.Format(sqlDacPath, SqlVersion);                    if (Directory.Exists(path))                    {                        var sqlPackagePath = Path.Combine(path, sqlPackageName);                        if (File.Exists(sqlPackagePath))                        {                            session["SQLBINDIR"] = sqlPackagePath;                            return ActionResult.Success;                        }                    }                }            }            DebugMsg(session, string.Format("Didn't find any SQL DAC SQLPackage"));            session.Log("End FindSqlCMD");            return ActionResult.Success;        }
查看完整描述

1 回答

?
慕沐林林

TA貢獻(xiàn)2016條經(jīng)驗 獲得超9個贊

最好盡量避免exe自定義操作??赡艿慕鉀Q方案是通過 WiX 查找 sqlcmd:


 <!-- Find sqlcmd.exe path  -->

<Property Id="SQLBINDIR">

  <RegistrySearch Id="SqlBinDir11x64" 

                  Root="HKLM" Key="SOFTWARE\Microsoft\Microsoft SQL Server\110\Tools\ClientSetup" 

                  Name="Path" 

                  Type="raw" Win64="yes" />

  <RegistrySearch Id="SqlBinDir10x64" 

                  Root="HKLM" Key="SOFTWARE\Microsoft\Microsoft SQL Server\100\Tools\ClientSetup" 

                  Name="Path" 

                  Type="raw" Win64="yes" />

  <RegistrySearch Id="SqlBinDir90x64" 

                  Root="HKLM" Key="SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\ClientSetup" 

                  Name="Path" 

                  Type="raw" Win64="yes" />

  <RegistrySearch Id="SqlBinDir11" 

                  Root="HKLM" Key="SOFTWARE\Microsoft\Microsoft SQL Server\110\Tools\ClientSetup" 

                  Name="Path" 

                  Type="raw" />

  <RegistrySearch Id="SqlBinDir10" 

                  Root="HKLM" Key="SOFTWARE\Microsoft\Microsoft SQL Server\100\Tools\ClientSetup" 

                  Name="Path" 

                  Type="raw" />

  <RegistrySearch Id="SqlBinDir90" 

                  Root="HKLM" Key="SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\ClientSetup" 

                  Name="Path" 

                  Type="raw" />


</Property>

之后你可以運(yùn)行它


 <CustomAction Id="sqlcmd.cmd" 

              Property="sqlcmd" 

              Value="&quot;[SQLBINDIR]sqlcmd.exe&quot; -E -S $(var.serverinstance) -V 1 -i &quot;$(var.inputfile)&quot; -o &quot;$(var.outputfile)&quot;" />



查看完整回答
反對 回復(fù) 2021-06-05
  • 1 回答
  • 0 關(guān)注
  • 196 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號