2

I am trying to install Sitecore using PowerShell DSC following below link https://jermdavis.wordpress.com/2015/11/09/development-environments-with-powershell-dsc-part-5/

I am getting "Could not access network location SC_SQL_SERVER_USER" error in log file. I have given all the necessary permission to database but couldn't get it done.

Could you please help me in finding the error?

Please find below installation log:

MSI (s) (E8:EC) [14:22:00:713]: PROPERTY CHANGE: Adding OutOfDiskSpace property. Its value is '0'.
MSI (s) (E8:EC) [14:22:00:713]: PROPERTY CHANGE: Adding OutOfNoRbDiskSpace property. Its value is '0'.
MSI (s) (E8:EC) [14:22:00:713]: PROPERTY CHANGE: Adding PrimaryVolumeSpaceAvailable property. Its value is '0'.
MSI (s) (E8:EC) [14:22:00:713]: PROPERTY CHANGE: Adding PrimaryVolumeSpaceRequired property. Its value is '0'.
MSI (s) (E8:EC) [14:22:00:713]: PROPERTY CHANGE: Adding PrimaryVolumeSpaceRemaining property. Its value is '0'.
MSI (s) (E8:EC) [14:22:00:713]: Note: 1: 2205 2:  3: Patch 
MSI (s) (E8:EC) [14:22:00:728]: PROPERTY CHANGE: Adding TARGETDIR property. Its value is 'C:\'.
MSI (s) (E8:EC) [14:22:00:728]: Note: 1: 1314 2: SC_SQL_SERVER_USER=sitecore_install 
MSI (s) (E8:EC) [14:22:00:728]: Note: 1: 1606 2: SC_SQL_SERVER_USER=sitecore_install 
Action start 14:22:00: CostFinalize.
MSI (s) (E8:EC) [14:22:00:728]: Product: Sitecore 8.0 rev. 150223 - SitecoreVamsi -- Error 1606. Could not access network location SC_SQL_SERVER_USER=sitecore_install.

MSI (s) (E8:EC) [14:22:00:728]: Note: 1: 1606 2: SC_SQL_SERVER_USER=sitecore_install 
Error 1606. Could not access network location SC_SQL_SERVER_USER=sitecore_install.
MSI (s) (E8:EC) [14:22:00:728]: Product: Sitecore 8.0 rev. 150223 - SitecoreVamsi -- Error 1606. Could not access network location SC_SQL_SERVER_USER=sitecore_install.

Error 1606. Could not access network location SC_SQL_SERVER_USER=sitecore_install.
Action ended 14:22:00: CostFinalize. Return value 3.
Action ended 14:22:00: INSTALL. Return value 3.
Property(S): VirtualMemory = 16275
Property(S): UpgradeCode = {B30C3E71-5F46-5340-B9A0-31B0752C6637}
Property(S): IISMAJORVERSION = 8
Property(S): IISMINORVERSION = #5
Property(S): GLOBALTEMPFOLDER = C:\Windows\TEMP
Property(S): GLOBALIZATIONFOLDER = C:\Windows\Globalization\
Property(S): CRYPTOFOLDER = C:\ProgramData\Microsoft\Crypto\
Property(S): SC_SQLLOGON_ACCOUNT_RAW = AFMS\sqlservice_sc
Property(S): ASPNETREGISTERED = C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
Property(S): IIS7APPDEVFEATURESON = #1
1
  • That's not an error I've seen before. I'll have a dig and see what I can work out. But, in the mean time some questions: 1) Which log file is it you're quoting from? Is it the Sitecore MSI installation log, or the output from DSC? 2) Have you modified the script from the blog post at all? If so, could you post the changes 3) What's in your config file for the DSC install? Could you post (redacted if necessary) the contents of that please? Thanks.
    – JermDavis
    Mar 12, 2017 at 15:24

1 Answer 1

3

That's an interesting error message, as it seems to be mixing up two things:

  1. The variable it refers to is SC_SQL_SERVER_USER - which is used by the MSI installation to store the database username used for connecting while installing the Sitecore databases.
  2. The rest of the error "Could not access network location", and the 1606 error number suggests a problem with a path, rather than a username. (Which is backed up by blog posts like this, referring to other MSI installs)

I can't be entirely confident without seeing more of the script and data you're using to run your install, but my gut feeling is that the problem is related to the SQL user name parameter getting mixed up with some other parameter in the MSI command line. With line-breaks for clarity, the MSI install command in the DSC should look like this. Note each parameter is surrounded with double quotes to make sure they're kept separate even if they include spaces:

msiexec.exe /qn /i 
  "$tmp\SupportFiles\exe\Sitecore.msi"
  "TRANSFORMS=:$instanceID;:ComponentGUIDTransform5.mst"
  "MSINEWINSTANCE=1"
  "LOGVERBOSE=1"
  "SC_LANG=en-US" 
  "SC_FULL=1" 
  "SC_INSTANCENAME=$site"
  "SC_LICENSE_PATH=$license"               <-- This is a path
  "SC_SQL_SERVER_USER=$sqlUser"            <-- But this isn't
  "SC_SQL_SERVER=$sqlServer"
  "SC_SQL_SERVER_PASSWORD=$sqlPassword"
  "SC_DBPREFIX=$sitePrefix"
  "SC_PREFIX_PHYSICAL_FILES=1"
  "SC_SQL_SERVER_CONFIG_USER=$sqlUser"
  "SC_SQL_SERVER_CONFIG_PASSWORD=$sqlPassword"
  "SC_DBTYPE=MSSQL"
  "INSTALLLOCATION=$wwwRoot\$site"
  "SC_DATA_FOLDER=$wwwRoot\$site\Data"
  "SC_DB_FOLDER=$wwwRoot\$site\Databases"
  "SC_MDF_FOLDER=$wwwRoot\$site\Databases\MDF"
  "SC_LDF_FOLDER=$wwwRoot\$site\Databases\LDF"
  "SC_NET_VERSION=4"
  "SITECORE_MVC=0"
  "SC_INTEGRATED_PIPELINE_MODE=1"
  "SC_IISSITE_NAME=$site"
  "SC_IISAPPPOOL_NAME=$siteAppPool"
  "SC_IISSITE_HEADER=$site"
  "SC_IISSITE_PORT=80"
  "SC_IISSITE_ID="
  "/l*+v"
  "$tmp\Install.log"

Is it possible that you've lost a double-quote in your script and DSC is trying to use the entire phrase SC_SQL_SERVER_USER=sitecore_install as the value of another install parameter? (My most likely guess would be for the license path, since it's the one immediately before - but it might be something else)

Have a check of your script, and see if you can spot a typo there...


Edited to add:

If you need to vary which license file is used for a particular install then you have two main choices:

First is that the license is already being read from the configuration file. So you can choose which configuration file to use for a particular installation, and create different .psd1 files depending on what is required.

The second is that the script for installing Sitecore can compute the value for the license. The script currently works out the license file by retrieving the value from config and combining it with the path that the assets got copied to:

$tmp = $using:Node.TempFolder
$licenseFile = $using:Node.Sitecore.License
$license = "$tmp\$licenseFile"

There are loads of things you could do here. Two options I can think of:

You could compute a prefix:

$tmp = $using:Node.TempFolder
$licenseFile = $using:Node.Sitecore.License
$prefix = "defaultValue"
if( someTest )
{
    $prefix = "anotherValue"
}
$license = "$tmp\$prefix-$licenseFile"

or you could have more than one option from the config file and choose which to use:

If the .psd1 data included:

@{
    AllNodes = @(
        @{     
            Sitecore = @{
                LicenseOne = "License-FileOne.xml"
                LicenseTwo = "License-FileTwo.xml"
            }
         }
    );
}

Then the logic in the script could be:

$tmp = $using:Node.TempFolder
$licenseFile = $using:Node.Sitecore.LicenseOne
if( someTest )
{
    $prefix = $using:Node.Sitecore.LicenseTwo
}
$license = "$tmp\$licenseFile"

Note that I've avoided changing the code which calls msiexec.exe here - I find it easier to leave that alone and change the data PowerShell passes to it...

5
  • wow that's the exact mistake I did.. I am trying to localize the path of license file and passing it to the command line.That's the reason it couldnot find server user parameter.. thanks a lot for resolving this.. but davis how can I localize this?? which I am trying for.. Mar 12, 2017 at 17:29
  • Awesome - glad to hear I sorted that issue. Clearly I have my +2 Hat of Psychic Debugging on today ;-) I'll have a think and add something to my answer to address your follow-up question.
    – JermDavis
    Mar 12, 2017 at 19:02
  • Davis I successfully installed sitecore .. now I want to install zip packages which usually we do from update installation wizard but I want to do through DSC.. I searched a lot but couldnt get write way to do it through DSC.. can you please help me to install zip files using DSC???? Mar 17, 2017 at 18:29
  • Yup, I probably can answer that. But it's getting a bit off topic for this question, I think. Can you phrase what you've tried / had issues with into a separate question and I'll try and help there.
    – JermDavis
    Mar 17, 2017 at 19:06
  • sitecore.stackexchange.com/questions/4982/… davis i posted in above question.. am not getting idea to write logic on this.. please help me out .. Mar 18, 2017 at 6:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.