<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Distributed Services Support Team</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/distributedservices/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/distributedservices/feed.xml</link>
    <description>The official blog of the engineers supporting distributed technologies</description>
    <lastBuildDate>Mon, 28 Mar 2016 09:36:44 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Solutions, workarounds and suggestions for common AppFabric 1.1 errors</title>
      <link>https://docs.microsoft.com/archive/blogs/distributedservices/solutions-workarounds-and-suggestions-for-common-appfabric-1-1-errors</link>
      <pubDate>Mon, 09 Mar 2015 09:15:42 GMT</pubDate>
      <dc:creator><![CDATA[davidqiu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/distributedservices/2015/03/09/solutions-workarounds-and-suggestions-for-common-appfabric-1-1-errors/</guid>
      <description><![CDATA[AppFabric 1.1 can throw random DataCacheException under load. The three most common errors are:...]]></description>
      <content:encoded><![CDATA[<p>AppFabric 1.1 can throw random DataCacheException under load. The three most common errors are:</p>  <blockquote>   <p>Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode&lt;ERRCA0017&gt;:SubStatus&lt;ES0006&gt;:There is a temporary failure. Please retry later. Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode&lt;ERRCA0018&gt;:SubStatus&lt;ES0001&gt;:The request timed out.      <br />Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode&lt;ERRCA0016&gt;:SubStatus&lt;ES0001&gt;:The connection was terminated.</p> </blockquote>  <p>To resolve or alleviate these issues, you can try the following solutions/workarounds:</p>  <p>1.    <br />ErrorCode&lt;ERRCA0017&gt;:SubStatus&lt;ES0006&gt;:There is a temporary failure. Please retry later.</p>  <ul>   <li>Install the latest cumulative update for AppFabric 1.1 (CU7 as of this writing) </li>    <li>Upgrade .NET Framework to 4.5 on all cache servers </li>    <li>Enable backgroundGC per the instructions in the CU3 article (see the CU3 article for the bug fixed and how to enable backgorundGC) </li> </ul>  <p>All CU links can be found in <a href="https://blogs.msdn.com/b/distributedservices/archive/2014/02/26/how-to-update-microsoft-appfabric-1-1-for-windows-server-with-cumulative-update-packages.aspx" target="_blank">How to Update Windows Server AppFabric 1.1 with Cumulative Update Packages</a>. CU7 and backgroundGC on the cache server can be very helpful to reduce the number of ErrorCode&lt;ERRCA0017&gt;:SubStatus&lt;ES0006&gt;. CU7 is not required to install on the cache clients.</p>  <p>2.    <br />If you have local cache enabled, you need update client side caching assemblies to CU6 to fix the local cache bug (see the CU4 article for the details on the local cache bug.) It is not required to install CU7 on the cache servers to resolve the local cache bug.</p>  <p>3.    <br />ErrorCode&lt;ERRCA0018&gt;:SubStatus&lt;ES0001&gt;:The request timed out.</p>  <p>3.1&#160; <br />Increase maxConnectionsToServer. The default value is 1. The article <a href="https://blogs.msdn.com/b/jagan_peri/archive/2012/09/09/best-practices-for-using-windows-azure-cache-windows-server-appfabric-cache.aspx" target="_blank">Tune MaxConnectionsToServer</a> suggests to set it to the number of cores (of the application server.) In our experience it may be too big. The value should not be greater than 4 in most of cases. Setting a big number can result in many open connections to the cache cluster nodes and high CPU on Lsass and the event logging service.</p>  <p>3.2    <br />There is a known WCF 4.0 issue, which can affect the performance of your application if the cache client is a WCF application. You need either upgrade the .NET framework to 4.5 on the client or implement the workaround described in the article <a href="https://support.microsoft.com/kb/2538826/EN-US" target="_blank">WCF service may scale up slowly under load</a>.</p>  <p>3.3    <br />For more realistic test results, do not use hot keys in load tests, which can lead to high CPU on one particular cache host. Instead use randomly generated keys (for example, Guid key = Guid.NewGuid() for example) for Get/Put operations in load tests. This is because AppFabric is a partition cache rather than a replication cache. </p>  <p>4.    <br /></p> ErrorCode&lt;ERRCA0016&gt;:SubStatus&lt;ES0001&gt;:The connection was terminated.   <br />  <br />  <p>One possibility of this exception is due to a timing issue as the cache client and cache server have the same 10 minute setting. We have seen cases where a client is getting a request on the connection just as the server is closing its side due to the timeout. If you have seen this error, we recommend you to set the client receiveTimeout less than the cache server.</p>  <p>The client side receiveTimeout setting (in milliseconds) can be found in <a href="https://msdn.microsoft.com/en-us/library/hh351483(v=azure.10).aspx" target="_blank">Application Configuration Settings</a>. This needs set in each client web.config or app.config. </p>  <p>The server side receiveTimeout (in milliseconds) can be set in the cluster config file:</p>  <blockquote>   <p>&lt;dataCache size=&quot;Small&quot;&gt;      <br />&lt;!—Other Settings Here--&gt;       <br />&#160;&#160; &lt;advancedProperties&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160; &lt;transportProperties receiveTimeout=”600000” /&gt;       <br />&#160;&#160;&#160; &lt;/advancedProperties&gt;       <br />&lt;/dataCache&gt;</p></blockquote>]]></content:encoded>
    </item>
    <item>
      <title>AppFabric 1.1 Authentication Security Protocol: Kerberos or NTLM</title>
      <link>https://docs.microsoft.com/archive/blogs/distributedservices/appfabric-1-1-authentication-security-protocol-kerberos-or-ntlm</link>
      <pubDate>Sun, 08 Mar 2015 21:24:50 GMT</pubDate>
      <dc:creator><![CDATA[davidqiu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/distributedservices/2015/03/08/appfabric-1-1-authentication-security-protocol-kerberos-or-ntlm/</guid>
      <description><![CDATA[You may ask the question why I care about what authentication protocol is used in AppFabric as long...]]></description>
      <content:encoded><![CDATA[<p>You may ask the question why I care about what authentication protocol is used in AppFabric as long as it works. It is true in most of cases. However sometimes you want to know what authentication protocol is being used because you are concerned with the performance difference between Kerberos and NTLM or a large number of logon/logoff events in the security event log when the security auditing is enabled. This article is written as a continuation of <a href="https://blogs.msdn.com/b/distributedservices/archive/2012/10/29/authenticationexception-in-appfabric-1-1-caching-for-windows-server.aspx" target="_blank">this blog</a>. </p>  <p>The default value of DataCacheServiceAccountType is DataCacheServiceAccountType.SystemAccount, in which case AppFabric client assumes the caching service account is network service. It uses Kerberos and the host SPN (the service principal name) in the Kerberos TGS Request. This works when the caching service account is indeed Network Service because the host SPN is registered for the machine account (machinename$) by default in DC. Note that the Network Service account is machinename$. You will see “Authentication Package: Kerberos” in the security event log when the security auditing is enabled:</p>  <blockquote>   <p>Log Name:&#160;&#160;&#160;&#160;&#160; Security      <br />Source:&#160;&#160;&#160;&#160;&#160;&#160;&#160; Microsoft-Windows-Security-Auditing       <br />Date:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 2/9/2015 2:10:28 PM       <br />Event ID:&#160;&#160;&#160;&#160;&#160; 4624       <br />Task Category: Logon       <br />Level:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Information       <br />Keywords:&#160;&#160;&#160;&#160;&#160; Audit Success       <br />User:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; N/A       <br />Computer:&#160;&#160;&#160;&#160; Server       <br />Description:       <br />An account was successfully logged on.</p>    <p>Subject:      <br />Security ID:&#160; NULL SID       <br />Account Name:&#160; -       <br />Account Domain:&#160; -       <br />Logon ID:&#160; 0x0</p>    <p>Logon Type:&#160;&#160; 3</p>    <p>New Logon:      <br />Security ID:&#160; Domain\User       <br />Account Name:&#160; User       <br />Account Domain:&#160; Domain       <br />Logon ID:&#160; 0x6a8fba       <br />Logon GUID:&#160; {116d7aa7-7569-a5b7-ea37-7074c066e4b9}</p>    <p>Process Information:      <br />Process ID:&#160; 0x0       <br />Process Name:&#160; -</p>    <p>Network Information:      <br />Workstation Name:       <br />Source Network Address: -       <br />Source Port:&#160; -</p>    <p>Detailed Authentication Information:      <br /><font style="background-color: #ffff00">Logon Process:&#160; Kerberos        <br />Authentication Package: Kerberos         <br /></font>Transited Services: -       <br />Package Name (NTLM only): -       <br />Key Length:&#160; 0</p>    <p>This event is generated when a logon session is created. It is generated on the computer that was accessed.</p> </blockquote>  <p>When the value of DataCacheServiceAccountType is set to DataCacheServiceAccountType.SystemAccount, AppFabric client assumes the caching service account is network service. It attempts to use Kerberos and the host SPN in the Kerberos TGS request. However this eventually fails if the caching service account is in fact a domain account rather than network service, because the host SPN is registered for the machine account but not for the domain account. You will see the error “The target principal name is incorrect” described in <a href="https://blogs.msdn.com/b/distributedservices/archive/2012/10/29/authenticationexception-in-appfabric-1-1-caching-for-windows-server.aspx" target="_blank">the blog</a>. AppFabric does not fall back to use NTLM after encountering this error.</p>  <p>When the value of DataCacheServiceAccountType is set to DataCacheServiceAccountType.DomainAccount, AppFabric client assumes the caching service account is a domain account. It attempts to use Kerberos and creates a SPN identity “AppFabricCachingService/targetHostName:22233” in the Kerberos TGS request. This SPN is most likely never registered for the caching service account in DC. AppFabric encounters the error KDC_ERR_S_PRINCIPAL_UNKNOWN on the client and falls back to use NTLM.</p>  <blockquote>   <p>Log Name:&#160;&#160;&#160;&#160;&#160; Security      <br />Source:&#160;&#160;&#160;&#160;&#160;&#160;&#160; Microsoft-Windows-Security-Auditing       <br />Date:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 2/9/2015 2:17:43 PM       <br />Event ID:&#160;&#160;&#160;&#160;&#160; 4624       <br />Task Category: Logon       <br />Level:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Information       <br />Keywords:&#160;&#160;&#160;&#160;&#160; Audit Success       <br />User:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; N/A       <br />Computer:&#160;&#160;&#160;&#160;&#160; Server       <br />Description:       <br />An account was successfully logged on.</p>    <p>Subject:      <br />Security ID:&#160; NULL SID       <br />Account Name:&#160; -       <br />Account Domain:&#160; -       <br />Logon ID:&#160; 0x0</p>    <p>Logon Type:&#160;&#160; 3</p>    <p>New Logon:      <br />Security ID:&#160; Domain\User       <br />Account Name:&#160; Domain       <br />Account Domain:&#160; User       <br />Logon ID:&#160; 0x719641       <br />Logon GUID:&#160; {00000000-0000-0000-0000-000000000000}</p>    <p>Process Information:      <br />Process ID:&#160; 0x0       <br />Process Name:&#160; -</p>    <p>Network Information:      <br />Workstation Name: ClientComputer       <br />Source Network Address: -       <br />Source Port:&#160; -</p>    <p>Detailed Authentication Information:      <br /><font style="background-color: #ffff00">Logon Process:&#160; NtLmSsp        <br />Authentication Package: NTLM</font>       <br />Transited Services: -       <br />Package Name (NTLM only): NTLM V2       <br />Key Length:&#160; 128</p>    <p>This event is generated when a logon session is created. It is generated on the computer that was accessed.</p> </blockquote>  <p><a href="https://support.microsoft.com/kb/262177/?wa=wsignin1.0" target="_blank">Enabling Kerberos event logging</a> on the client, you will see the SPN is AppFabricCachingService/ServerFQDN:22233.</p>  <blockquote>   <p>Log Name:&#160;&#160;&#160;&#160;&#160; System      <br />Source:&#160;&#160;&#160;&#160;&#160;&#160;&#160; Microsoft-Windows-Security-Kerberos       <br />Date:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 2/9/2015 2:45:07 PM       <br />Event ID:&#160;&#160;&#160;&#160;&#160; 3       <br />Task Category: None       <br />Level:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Error       <br />Keywords:&#160;&#160;&#160;&#160;&#160; Classic       <br />User:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; N/A       <br />Computer:&#160;&#160;&#160;&#160;&#160; ClientComputer       <br />Description:       <br />A Kerberos error message was received:       <br />on logon session       <br />Client Time:       <br />Server Time: 19:45:7.0000 2/9/2015 Z       <br />Error Code: 0x7&#160; <font style="background-color: #ffff00">KDC_ERR_S_PRINCIPAL_UNKNOWN</font>       <br />Extended Error:       <br />Client Realm:       <br />Client Name:       <br />Server Realm: REDMOND.CORP.MICROSOFT.COM       <br /><font style="background-color: #ffff00">Server Name: AppFabricCachingService/ServerFQDN:22233        <br />Target Name: AppFabricCachingService/ServerFQDN:22233@Domain</font>       <br />Error Text:       <br />File: 9       <br />Line: 12c4       <br />Error Data is in record data.</p> </blockquote>  <p>Network trace:    <br />0.0816158 4916 2:27:15 PM 2/9/2015 31.9676333 Unavailable 65.53.10.43 10.219.0.218 KerberosV5 KerberosV5:TGS Request&#160; {TCP:763, IPv4:751}     <br />0.0806043 4928 2:27:15 PM 2/9/2015 32.0482376 Unavailable 10.219.0.218 65.53.10.43 KerberosV5 KerberosV5:KRB_ERROR&#160; - <font style="background-color: #ffff00">KDC_ERR_S_PRINCIPAL_UNKNOWN</font> (7) {TCP:763, IPv4:751}</p>  <p>If you really wish to use Kerberos rather than NTLM when the caching service account is a domain account, you can set DataCacheServiceAccountType to DomainAccount, and register the SPN “AppFabricCachingService/targetHostName:22233” for the service account using setspn: </p>  <blockquote>   <p>setspn -a AppFabricCachingService/targetHostName:22233 Domain\CachingServiceAccount</p> </blockquote>  <p>In summary, AppFabric always tries Kerberos first. It uses the host SPN when DataCacheServiceAccountType = SystemAccount or a custom SPN as “AppFabricCachingService/targetHostName:22233” when DataCacheServiceAccountType = DomainAccount. The result of success or failure and the protocol used depend on whether the SPN is registered or not and whether the caching service account is network service or a domain account.</p>  <p>Finally I want to ask a question: will it work if the value of DataCacheServiceAccountType is set to DomainAccount but the caching service account is network service? The answer to the question is it works and uses NTLM if the SPN “AppFabricCachingService/targetHostName:22233” is not registered. It is also because AppFabric falls back to NTLM in case of KDC_ERR_S_PRINCIPAL_UNKNOWN. This combination of DataCacheServiceAccountType and caching service account is confusing and is certainly not recommended. The only benefit I can think of is the same client setting works irrespective of the caching service account at the cost of using NTLM rather than Kerberos.</p>]]></content:encoded>
    </item>
    <item>
      <title>The DTC service cannot start</title>
      <link>https://docs.microsoft.com/archive/blogs/distributedservices/the-dtc-service-cannot-start</link>
      <pubDate>Sun, 08 Mar 2015 19:33:18 GMT</pubDate>
      <dc:creator><![CDATA[davidqiu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/distributedservices/2015/03/08/the-dtc-service-cannot-start/</guid>
      <description><![CDATA[If you cannot get the DTC service to start and see the following error whenever you try starting it,...]]></description>
      <content:encoded><![CDATA[<p>If you cannot get the DTC service to start and see the following error whenever you try starting it, check the registry value <strong>HKLM\SOFTWARE\Microsoft\MSDTC\SysprepInProgress</strong>. </p>  <blockquote>   <p>The Distributed Transaction Coordinator service on Local Computer started and then stopped. Some services stop automatically if they are not in use by other services. </p> </blockquote>  <p>If the value is 1, change it to 0 and try starting DTC again, which may resolve your problem. It is by design that DTC cannot run during sysprep. The default value of SysprepInProgress is 0, indicating the system is not in the middle of sysprep. How can this value become 1? One possibility is the machine was created with sysprep and a previous run failed. </p>  <p>The SysprepInProgress registry value is set during the MSDTC setup. Open the C:\windows\ DtcInstall.log and you could see the differences at the bottom of the log file between a good installation and a bad installation.</p>  <p>Good_DtcInstall.log</p>  <blockquote>   <p>…      <br />08-12-2013 15:07 : DTC Install error = 0, SysPrepDtcSpecialize : Enter, d:\w7rtm\com\complus\dtc\dtc\adme\deployment.cpp (1897)       <br />08-12-2013 15:07 : DTC Install error = 0, <font style="background-color: #ffff00">SysprepDtcSpecialize: SysprepInProgress == 0</font>. DTC has been already specialized., d:\w7rtm\com\complus\dtc\dtc\adme\deployment.cpp (1915)       <br />08-12-2013 15:07 : DTC Install error = 0, SysPrepDtcSpecialize : Exit, d:\w7rtm\com\complus\dtc\dtc\adme\deployment.cpp (1959)</p> </blockquote>  <p>Bad_DtcInstall.log</p>  <blockquote>   <p>…      <br />12-20-2013 13:18 : DTC Install error = 0, SysPrepDtcSpecialize : Enter, d:\w7rtm\com\complus\dtc\dtc\adme\deployment.cpp (1897)       <br />12-20-2013 13:18 : DTC Install error = 0, <font style="background-color: #ffff00">SysprepDtcSpecialize: SysprepInProgress == 0.</font> DTC has been already specialized., d:\w7rtm\com\complus\dtc\dtc\adme\deployment.cpp (1915)       <br />12-20-2013 13:18 : DTC Install error = 0, SysPrepDtcSpecialize : Exit, d:\w7rtm\com\complus\dtc\dtc\adme\deployment.cpp (1959)       <br />01-14-2014 13:01 : DTC Install error = 0, SysPrepDtcCleanup : Enter, d:\w7rtm\com\complus\dtc\dtc\adme\deployment.cpp (1763)       <br />01-14-2014 13:01 : DTC Install error = 0, SysPrepDtcCleanup : Exit, d:\w7rtm\com\complus\dtc\dtc\adme\deployment.cpp (1814)       <br />01-14-2014 13:01 : DTC Install error = 0, <font style="background-color: #ffff00">SysPrepDtcGeneralize : Enter</font>, d:\w7rtm\com\complus\dtc\dtc\adme\deployment.cpp (1820)       <br />01-14-2014 13:01 : DTC Install error = 0, <font style="background-color: #ffff00">SysPrepDtcGeneralize : Exit</font>, d:\w7rtm\com\complus\dtc\dtc\adme\deployment.cpp (1891)</p> </blockquote>  <p>SysPrepDtcSpecialize sets the value to 0 and SysPrepDtcGeneralize sets SysprepInProgress to 1</p>  <p>If SysprepInProgress is not your cause, you can consider the process documented in <a href="https://blogs.msdn.com/b/distributedservices/archive/2009/04/01/instructions-to-reinstall-the-microsoft-distributed-transaction-coordinator-msdtc-service.aspx" target="_blank">Disaster Recovery for MSDTC on Windows Server 2003 and 2008</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Hosting Workflow Services in Azure under multiple Service Instances</title>
      <link>https://docs.microsoft.com/archive/blogs/distributedservices/hosting-workflow-services-in-azure-under-multiple-service-instances</link>
      <pubDate>Tue, 16 Dec 2014 20:16:00 GMT</pubDate>
      <dc:creator><![CDATA[Amy McElhaney]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/distributedservices/2014/12/16/hosting-workflow-services-in-azure-under-multiple-service-instances/</guid>
      <description><![CDATA[I ran into an interesting issue with Workflow services hosted in Azure. When I had enabled more than...]]></description>
      <content:encoded><![CDATA[<p><span style="font-size: small;">I ran into an interesting issue with Workflow services hosted in Azure. When I had enabled more than one service instance my Workflow service started failing with the error:</span></p>
<p><span style="font-size: small;">"A value of the wrong type was retrieved from the instance store. A value of type {/INSTANCE_1/Workflow/}myWFCloudService.xamlx was expected, but a value of type {/INSTANCE_2/Workflow/} myWFCloudService xamlx was encountered instead."</span></p>
<p><span style="font-size: small;">As it turns out, when you scale the cloud service to two or more instances, the site name in IIS is different for each site instance. They will look something like "&lt;servicename&gt;_IN_&lt;instance number&gt;. So with a servicename of "myWFCloudService" and 2 instances, the site names will be:</span></p>
<ul>
<li><span style="font-size: small;">MyWFCloudService_IN_0</span></li>
<li><span style="font-size: small;">MyWFCloudService_IN_1</span></li>
</ul>
<p><span style="font-size: small;">For workflow services, the Site name is used to calculate both the WorkflowHostType value and for calculating correlation keys used with Workflow instance persistence. For the above two instance nodes the values will be calculated differently so if we attempt to load our workflow instance on a different node than last time we will get the above error.</span></p>
<p><span style="font-size: small;">My first thought for a workaround was to configure Azure so that the site names would match. You can accomplish this manually using remote desktop with Azure and renaming the site in the IIS manager, however, the moment one of these sites is moved or reloaded you&rsquo;ll find that the site name reverts back to the original format. To make this site name change &ldquo;permanent&rdquo; </span><span style="font-size: small;">in Azure you&rsquo;ll have to use a Web Role and the RoleEntryPoint.OnStart() function. I was able to test that this approach did indeed work, but then I discovered (by way of our Workflow Product team!) an undocumented parameter workflowHostingOptions whose sole purpose is to allow you to override the Site name dependency. You&rsquo;ll need to add the following to your Workflow service config file:</span></p>
<p><span style="font-size: small;">&lt;configuration&gt;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp; &lt;configSections&gt;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;sectionGroup name="system.serviceModel.activities" type="System.ServiceModel.Activities.Configuration.ServiceModelActivitiesSectionGroup, </span><span style="font-size: small;">System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, </span><span style="font-size: small;">PublicKeyToken=31bf3856ad364e35"&gt;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;section name="workflowHostingOptions" type="System.ServiceModel.Activities.Configuration.WorkflowHostingOptionsSection, </span><span style="font-size: small;">System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, </span><span style="font-size: small;">PublicKeyToken=31bf3856ad364e35"/&gt;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/sectionGroup&gt;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp; &lt;/configSections&gt;</span></p>
<p><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp; &lt;system.serviceModel.activities&gt;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;workflowHostingOptions overrideSiteName="true"/&gt;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp; &lt;/system.serviceModel.activities&gt;</span></p>
<p><span style="font-size: small;">&hellip;.&nbsp;</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp;&nbsp;&lt;system.serviceModel&gt;</span><br /><span style="font-size: small;">&hellip;.</span><br /><span style="font-size: small;">&nbsp;&nbsp;&nbsp; &lt;/system.serviceModel&gt;</span><br /><span style="font-size: small;">&hellip;.</span></p>
<p><span style="font-size: small;">&lt;/configuration&gt;</span></p>
<p><span style="font-size: small;">I found that the order these are listed in the config file does matter. The section group has to come before the &ldquo;WorkflowHostingOptions&rdquo; and the &ldquo;WorkflowHostingOptions&rdquo; has to come before the &lt;system.serviceModel&gt; section.</span></p>
<p><span style="font-size: small;">There is one other detail that needs mentioning. During testing it was found that even with matching site names the Workflow service sometimes failed with "The requested resource has moved to one of the following locations" exception. The type of this exception is a RedirectionException. This is the result of the instance we are trying to load being locked in the instance store.</span></p>
<p><span style="font-size: small;">This can be remedied by modifying the configuration file of the workflow service to have a "workflowIdle" behavior with values of </span><span style="font-size: small;">timeToPersist and timeToUnload both set to "0:0:0". This way, as soon </span><span style="font-size: small;">as an instance goes idle it will be unloaded. This is what that behavior looks </span><span style="font-size: small;">like in the web.config file:&nbsp;</span></p>
<p style="padding-left: 30px;"><span style="font-size: small;">&lt;workflowIdle </span><span style="font-size: small;">timeToUnload="0:0:0" timeToPersist="0:0:0"/&gt;</span></p>
<p><span style="font-size: small;">If the timeToUnload value is greater than 0:0:0, it is </span><span style="font-size: small;">possible for a subsequent request to be received on one of the nodes while the </span><span style="font-size: small;">instance is still loaded/locked by the other node. This scenario will result in </span><span style="font-size: small;">the RedirectionException.</span></p>
<p><span style="font-size: small;">Once you have configured the workflowHostingOptions and the </span><span style="font-size: small;">workflowIdle behavior your Workflow services should scale out in Azure without </span><span style="font-size: small;">any issues.</span></p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Common AppFabric 1.1 Installation Errors with and without SharePoint</title>
      <link>https://docs.microsoft.com/archive/blogs/distributedservices/common-appfabric-1-1-installation-errors-with-and-without-sharepoint</link>
      <pubDate>Tue, 16 Dec 2014 17:28:00 GMT</pubDate>
      <dc:creator><![CDATA[Amy McElhaney]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/distributedservices/2014/12/16/common-appfabric-1-1-installation-errors-with-and-without-sharepoint/</guid>
      <description><![CDATA[There can be multiple reasons for installation errors when installing AppFabric either with...]]></description>
      <content:encoded><![CDATA[<p>There can be multiple reasons for installation errors when installing AppFabric either with SharePoint or as a stand-alone application. I&rsquo;ve found that there are a few generic errors that can have multiple causes with different resolutions. Below you&rsquo;ll find a table listing the generic error message and any additional error text that might also be included along with several possible workarounds. Once the workaround is in place you should be able to run the installation again successfully.</p>
<p>To find out more information around the installation error first check the installation logs.<br />The Setup log is found at C:\ProgramData\Microsoft\AppFabric.<br />The installation logs are found in c:\users\&lt;logon&gt;\appdata\local\temp.<br />The name of the AppFabric installation log file will be of the form AppServerSetup(yyyy-MM-ddH-mm-ss).log.<br />There may also be logs named AppServerSetup1_1 or AppServerSet1_1_CustomActions.<br />Other logs may be located at C:\ProgramData\Microsoft\Windows\WER\ReportArchive.</p>
<p><span style="text-decoration: underline;"><br />AppFabric Stand-Alone Installation</span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="719">
<p><strong>Error Message</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>The process of installing the prerequisite failed&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p><strong>Resolutions</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>Check that the Application Server Role has been added via Add Roles Wizard</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>Reinstall MS CCR &amp; DSS Runtime</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>Check prerequisites are installed.&nbsp;See <a href="https://www.microsoft.com/en-us/download/details.aspx?id=27115">https://www.microsoft.com/en-us/download/details.aspx?id=27115</a> for details.</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="719">
<p><strong>Error Message</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>MSI returned with Error Code: 1603</p>
<p>If you look in the CustomActions log you&rsquo;ll also see:</p>
<p>Error:<br />&nbsp; ERROR: Invalid syntax. Default option is not allowed more than '2' time(s).</p>
<p>Error:<br />&nbsp; Type "SETX /?" for usage.</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p><strong>Resolutions</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>Multiple attempts to install AppFabric may have corrupted the PSModulePath environment variable. Check that PSModulePath in the Environment Variables looks like:</p>
<p>&nbsp; <strong><em>C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;c:\Program<br />&nbsp; Files\AppFabric 1.1 for Windows Server\PowershellModules</em></strong><strong><em></em></strong></p>
<p>This same error occurs with SharePoint installations so for more information please see <a href="https://blogs.technet.com/b/praveenh/archive/2013/02/22/sharepoint-2013-prerequisites-fails-with-msi-installer-error-code-1603-while-installing-appfabric-1-1.aspx">https://blogs.technet.com/b/praveenh/archive/2013/02/22/sharepoint-2013-prerequisites-fails-with-msi-installer-error-code-1603-while-installing-appfabric-1-1.aspx</a></p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="719">
<p><strong>Error Message</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>MSI returned with Error Code: 1603 along with &ldquo;Cannot create a file when that file already exists&rdquo;</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p><strong>Resolutions</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>The setup needs to add a scheduled task for the customer experience program, but the schtasks command line fails if the task already exists. Deleted the task "Consolidator" in "%SYSTEM32%\Tasks\AppFabric\Customer Experience Improvement Program"&nbsp;</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="719">
<p><strong>Error Message</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>MSI returned with Error Code: 1603 along with &ldquo;ERROR: The network address is invalid&rdquo;</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p><strong>Resolutions</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>Task Scheduler Service is disabled on the Server. This same error occurs with SharePoint installations so for more information please see <a href="https://www.sathishtk.com/blog/post/2012/08/17/SharePoint-2013-installation-error-Windows-AppFabric-11-1603-error.aspx">https://www.sathishtk.com/blog/post/2012/08/17/SharePoint-2013-installation-error-Windows-AppFabric-11-1603-error.aspx</a></p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="719">
<p><strong>Error Message</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>MSI returned with Error Code: 1603 and &ldquo;0x80040154 Class Not Registered&rdquo;</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p><strong>Resolutions</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>Install .NET 3.5</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="719">
<p><strong>Error Message</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>MSI returned with error code: 1603 along with the error &ldquo;System error 1379 has occurred. Error: The specified local group already exists&rdquo;.</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p><strong>Resolutions</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>The groups AS_Observers and AS_Administrators are left over from a previous failed installation. Delete the groups and reinstall. Please see the following for more information: <a href="https://msdn.microsoft.com/en-us/library/ff637696(v=azure.10).aspx">https://msdn.microsoft.com/en-us/library/ff637696(v=azure.10).aspx</a></p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="719">
<p><strong>Error Message</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>Is the registry key&nbsp;HKLM\SOFTWARE\Microsoft\AppFabric\V1.0\Gac&nbsp;missing?</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p><strong>Resolutions</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>Run the installation manually from an elevated PowerShell command line:</p>
<p>c:\WindowsServerAppFabricSetup_x64.exe /i CacheClient,CachingService,CacheAdmin /gac</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>Please note that Sharepoint has its own particular way to<br />install AppFabric and thus it has its own set of installation issues. The chart<br />below is specific to Sharepoint so it is not recommended to use these resolutions<br />for a standalone AppFabric installation.</p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;">AppFabric Sharepoint Installation</span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="719">
<p><strong>Error Message</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>&ldquo;The process of installing the prerequisite failed&rdquo; along with &ldquo;Value cannot be null&rdquo;</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p><strong>Resolutions</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p class="paragraph">The User Temp Variables are missing. To recreate these<br />&nbsp; variables:&nbsp;&nbsp;</p>
<p>1) Go to System Properties, Change Settings.&nbsp;&nbsp;</p>
<p>2) Select Advanced Tab and Click Environment Variables button.&nbsp;&nbsp;</p>
<p>3) Click New under user variables and create two user variables as follows:&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; a)&nbsp; Variable Name: TEMP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Variable Value: %USERPROFILE%\AppData\Local\Temp&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp;b) Variable Name: &nbsp;TMP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Variable Value:&nbsp; %USERPROFILE%\AppData\Local\Temp&nbsp;</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="719">
<p><strong>Error Message</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>&ldquo;The process of installing the prerequisite failed&rdquo; along with &ldquo;Setup is unable to<br />&nbsp; proceed due to the following error(s): Windows Server Appfabric is not correctly<br />&nbsp; configured. You should uninstall Winidows Server Appfabric and reinstall it using<br />&nbsp; the Sharepoint Products Preparation Too.&rdquo;</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p><strong>Resolutions</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>Run the Sharepoint 2013 Prerequistie Installer:&nbsp;&nbsp;</p>
<p>prerequisiteinstaller.exe /AppFabric:prerequisiteinstallerfiles\AppFabric1.1-RTM-KB2671763-x65-ENU.exe</p>
<p>For more information please see <a href="https://www.spjeff.com/2012/07/19/fixed-sharepoint-2013-setup-error-appfabric-is-not-correctly-configured/">https://www.spjeff.com/2012/07/19/fixed-sharepoint-2013-setup-error-appfabric-is-not-correctly-configured/</a></p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="719">
<p><strong>Error Message</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>MSI returned with Error Code: 1603</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p><strong>Resolutions</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>The path to the PowerShell executable that is needed for the AppFabric installation is incorrect.&nbsp;For more information please see <a href="https://blogs.technet.com/b/praveenh/archive/2013/02/22/sharepoint-2013-prerequisites-fails-with-msi-installer-error-code-1603-while-installing-appfabric-1-1.aspx">https://blogs.technet.com/b/praveenh/archive/2013/02/22/sharepoint-2013-prerequisites-fails-with-msi-installer-error-code-1603-while-installing-appfabric-1-1.aspx</a><strong></strong></p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="719">
<p><strong>Error Message</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>MSI returned with Error Code: 1603 along with &ldquo;ERROR: The network address is invalid&rdquo;</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p><strong>Resolutions</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p class="paragraph">Task Scheduler Service is disabled on the Server.</p>
<p>For more information please see <a href="https://www.sathishtk.com/blog/post/2012/08/17/SharePoint-2013-installation-error-Windows-AppFabric-11-1603-error.aspx">https://www.sathishtk.com/blog/post/2012/08/17/SharePoint-2013-installation-error-Windows-AppFabric-11-1603-error.aspx</a></p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="719">
<p><strong>Error Message</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>Error 1722. There is a problem with this Windows Installer<br />&nbsp; package. A program run as part of the setup did not finish as expected.<br />&nbsp; Contact your support personnel or package vendor. &nbsp;&nbsp;</p>
<p>Action Env_PSModulePath_powershell_i, location: c:\Program<br />&nbsp; Files\AppFabric 1.1 for Windows<br />&nbsp; Server\Microsoft.ApplicationServer.InstallHelper.exe, command: powershell.exe<br />&nbsp; "-command \"$str = [System.Environment]::GetEnvironmentVariable(<br />&nbsp; \\\"PSModulePath\\\ ",<br />&nbsp; [System.EnvironmentVariableTarget]::Machine); $str =<br />&nbsp; $str+\\\";c:\Program Files\AppFabric 1.1 for Windows<br />&nbsp; Server\PowershellModules\\\"; c:\Windows\system32\setx.exe /M<br />&nbsp; PSModulePath \\\"$str\\\"\ "" "C:\Users\Administrator\AppData\Local\Temp\AppServerSetup1_1_CustomActions(2014-5-15<br />&nbsp; 11-08-45).log"</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p><strong>Resolutions</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>The PSModulePath environment variable is corrupted. There is a quotation mark at the end. Delete the ending quotation mark and re-run the setup. For more information please see <a href="https://blogs.msdn.com/b/distributedservices/archive/2014/11/01/appfabric-1-1-error-in-sharepoint-server-2013-installation.aspx">https://blogs.msdn.com/b/distributedservices/archive/2014/11/01/appfabric-1-1-error-in-sharepoint-server-2013-installation.aspx</a></p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="719">
<p><strong>Error Message</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>Error 1722. There is a problem with this Windows Installer package. A<br />&nbsp; program run as part of the setup did not finish as expected. Contact your<br />&nbsp; support personnel or package vendor. &nbsp;Action SCW_Localize_i, location:<br />&nbsp; c:\Program Files\AppFabric 1.1 for Windows Server\Microsoft.ApplicationServer.InstallHelper.exe,<br />&nbsp; command: "powershell.exe" "-command \"$content =<br />&nbsp; Get-Content \\\"c:\Program Files\AppFabric 1.1 for Windows<br />&nbsp; Server\\AppFabricServer.xml\\\"; $content = ForEach-Object -InputObject<br />&nbsp; $content { $_ -replace \\\"INSTALLPATH\\\", \\\"c:\Program<br />&nbsp; Files\AppFabric 1.1 for Windows Server\\\\\\\" }; Set-Content -value<br />&nbsp; $content -path \\\"c:\Program Files\AppFabric 1.1 for Windows<br />&nbsp; Server\\AppFabricServer.xml\\\" \""<br />&nbsp; "d:\temp\AppServerSetup1_1_CustomActions(2012-03-22<br />&nbsp; 16-22-57).log"&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p><strong>Resolutions</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p class="paragraph">If you look in the CustomActions log you&rsquo;ll<br />&nbsp; also see this error: &ldquo;EXEPATH=powershell.exe PARAMS=-command "$content =<br />&nbsp; Get-Content \"C:\Program Files\AppFabric 1.1 for Windows<br />&nbsp; Server\\AppFabricServer.xml\"; $content = ForEach-Object -InputObject<br />&nbsp; $content { $_ -replace \"INSTALLPATH\", \"C:\Program<br />&nbsp; Files\AppFabric 1.1 for Windows Server\\\" }; Set-Content -value<br />&nbsp; $content -path \"C:\Program Files\AppFabric 1.1 for Windows<br />&nbsp; Server\\AppFabricServer.xml\" " LOGFILE=C:\Users\tstspadmin\AppData\Local\Temp\AppServerSetup1_1_CustomActions(2014-12-1015-21-03).log</p>
<p class="paragraph">System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified&rdquo;&nbsp;</p>
<p>The problem is that the powershell.exe is not in the path so it couldn't be found during installation. Add %windir%\system32\WindowsPowerShell\v1.0\&nbsp;to the path and reinstall.</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="719">
<p><strong>Error Message</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>Error 1706. Try the installation again using a valid copy of the installation package 'appfabric-1.1-for-windows-server-64.msi'.</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p><strong>Resolutions</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p class="paragraph">Missing the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppFabric\V1.0\Gac. SharePoint has its own way to install AppFabric components. You have to run the installation with specific switches as in&nbsp;&nbsp;</p>
<p>"WindowsServerAppFabricSetup_x64.exe /i<br />&nbsp; CacheClient,CachingService,CacheAdmin /gac"</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="719">
<p><strong>Error Message</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>Assembly Install: Failing with hr=80070005 at RemoveDirectoryAndChildren, line 398".&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p><strong>Resolutions</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>MSI log reported "Out of disk space" right before the update rollback started. To resolve free up the needed&nbsp;disk space.</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="719">
<p><strong>Error Message</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>Failing&nbsp;with Hosting exceptions</p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p><strong>Resolutions</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="719">
<p>Hosting is not needed with Sharepoint. Reinstall without hosting.</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>AppFabric 1.1 error in SharePoint Server 2013 installation</title>
      <link>https://docs.microsoft.com/archive/blogs/distributedservices/appfabric-1-1-error-in-sharepoint-server-2013-installation</link>
      <pubDate>Sat, 01 Nov 2014 13:29:23 GMT</pubDate>
      <dc:creator><![CDATA[davidqiu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/distributedservices/2014/11/01/appfabric-1-1-error-in-sharepoint-server-2013-installation/</guid>
      <description><![CDATA[SYMPTOMS     While installing the SharePoint Server 2013 prerequisites, you see the following error...]]></description>
      <content:encoded><![CDATA[<p><strong>SYMPTOMS</strong>    <br /> While installing the SharePoint Server 2013 prerequisites, you see the following error in the event log and the setup log: </p>  <blockquote>   <p>Product: AppFabric 1.1 for Windows Server -- Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.&#160; Action Env_PSModulePath_powershell_i, location: c:\Program Files\AppFabric 1.1 for Windows Server\Microsoft.ApplicationServer.InstallHelper.exe, command: powershell.exe &quot;-command \&quot;$str = [System.Environment]::GetEnvironmentVariable( \\\&quot;PSModulePath\\\ &quot;, [System.EnvironmentVariableTarget]::Machine); $str = $str+\\\&quot;;c:\Program Files\AppFabric 1.1 for Windows Server\PowershellModules\\\&quot;; c:\Windows\system32\setx.exe /M PSModulePath \\\&quot;$str\\\&quot;\ &quot;&quot; &quot;C:\Users\Administrator\AppData\Local\Temp\AppServerSetup1_1_CustomActions(2014-5-15 11-08-45).log&quot; </p> </blockquote>  <p>   <br /><strong>CAUSE</strong>    <br /> The PSModulePath environment variable is corrupted. There is a quotation mark at the end. </p>  <p>C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\PowerShell\Modules;c:\Program Files\AppFabric 1.1 for Windows Server\PowershellModules&quot; </p>  <p><strong>RESOLUTION</strong>    <br /> Delete the ending quotation mark and re-run the setup.     </p>]]></content:encoded>
    </item>
    <item>
      <title>Configure firewall exceptions for Windows Server AppFabric Cache</title>
      <link>https://docs.microsoft.com/archive/blogs/distributedservices/configure-firewall-exceptions-for-windows-server-appfabric-cache</link>
      <pubDate>Wed, 19 Mar 2014 13:38:00 GMT</pubDate>
      <dc:creator><![CDATA[davidqiu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/distributedservices/2014/03/19/configure-firewall-exceptions-for-windows-server-appfabric-cache/</guid>
      <description><![CDATA[This MSDN article documents how to set the Windows firewall exceptions for AppFabric Caching Service...]]></description>
      <content:encoded><![CDATA[<p>This <a href="https://msdn.microsoft.com/en-us/library/ff383696.aspx">MSDN article</a> documents how to set the Windows firewall exceptions for AppFabric Caching Service and Remote Service Management<strong>&#160;</strong>to configure the Caching Service successfully. In AppFabric Server Configuration Wizard’s Configure AppFabric Cache Node page, you check both checkboxes and the wizard will automatically configure the Windows firewall rules for you. </p>  <p align="center"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/12/67/metablogapi/3823.image_5F226463.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-12-67-metablogapi/3823.image_5F00_5F226463.png"><img title="image" style="display: inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/12/67/metablogapi/7242.image_thumb_4F16265D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-12-67-metablogapi/7242.image_5F00_thumb_5F00_4F16265D.png" width="453" height="343" /></a> </p>  <p>If you are using a third party firewall, you must manually configure the firewall for the caching features to work properly. What additional protocols or ports do you need to open besides cache/replication/arbitration/cluster TCP port? The additional protocols used by the caching features are SMB, SMB2 and ICMP. The AppFabric cache uses SMB and SMB2 to read the cluster config file on a share when the XML store provider is being used and to access the remote registry service regardless of the provider type. The AppFabric cache also uses the ICMP protocol. So you need to open a firewall for SMB, SMB2 and ICMP protocols or for port 445 and the ICMP protocol in addition to those cache TCP ports (22233, 22234, 22235 and 22236 by default.)</p>]]></content:encoded>
    </item>
    <item>
      <title>How to Update Windows Server AppFabric 1.1 with Cumulative Update Packages</title>
      <link>https://docs.microsoft.com/archive/blogs/distributedservices/how-to-update-windows-server-appfabric-1-1-with-cumulative-update-packages</link>
      <pubDate>Wed, 26 Feb 2014 19:06:01 GMT</pubDate>
      <dc:creator><![CDATA[davidqiu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/distributedservices/2014/02/26/how-to-update-windows-server-appfabric-1-1-with-cumulative-update-packages/</guid>
      <description><![CDATA[Microsoft releases cumulative update (CU) packages for AppFabric 1.1 for Windows Server. Each...]]></description>
      <content:encoded><![CDATA[<p>Microsoft releases cumulative update (CU) packages for AppFabric 1.1 for Windows Server. Each cumulative update package contains all of the fixes that were released in previous update packages for both cache server and cache client. At the time of this writing there are 7 cumulative update packages that have been released: </p>  <blockquote>   <p><a href="https://support.microsoft.com/kb/2671763/en-us">Cumulative update package 1 for Microsoft AppFabric 1.1 for Windows Server</a>       <br /><a href="https://support.microsoft.com/kb/2716015/en-us">Cumulative update package 2 for Microsoft AppFabric 1.1 for Windows Server</a>       <br /><a href="https://support.microsoft.com/kb/2787717/en-us">Cumulative update package 3 for Microsoft AppFabric 1.1 for Windows Server</a>&#160;&#160;&#160;&#160;&#160; <br /><a href="https://support.microsoft.com/kb/2800726">Cumulative update package 4 for Microsoft AppFabric 1.1 for Windows Server</a>       <br /><a href="https://support.microsoft.com/kb/2932678">Cumulative update package 5 for Microsoft AppFabric 1.1 for Windows Server</a>       <br /><a href="https://support.microsoft.com/kb/3042099">Cumulative update package 6 for Microsoft AppFabric 1.1 for Windows Server</a>       <br /><a href="https://support.microsoft.com/en-us/kb/3092423">Cumulative update package 7 for Microsoft AppFabric 1.1 for Windows Server</a></p> </blockquote>  <p>These are the AppFabric 1.1 cache dll versions Microsoft has released: </p>  <blockquote>   <p>RTM: 1.0.4632&#160;&#160; (29-Nov-2011)      <br />CU1: 1.0.4639&#160;&#160;&#160; (20-Feb-2012)       <br />CU2: 1.0.4644&#160;&#160;&#160; (29-May-12)       <br />CU3: 1.0.4652.2 (27-Nov-2012)&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />CU4: 1.0.4653.2 (28-Mar-2013)       <br />CU5: 1.0.4655.2 (03-Mar-2014)       <br />CU6: 1.0.4656.2 (27-Feb-2015)       <br />CU7: 1.0.4657.2 (01-Sept-2015)</p> </blockquote>  <p>CU3 and later versions including CU7 require .NET Framework 4.5 on cache servers as documented on the KBs. However .NET 4.5 is not a prerequisite on cache clients to use client binaries in CU3, CU4, CU5, CU6 and CU7.</p>  <p>You can search for AppFabric cumulative update packages at <a href="https://support.microsoft.com">https://support.microsoft.com</a> for the phrase (including the quotes):&#160; </p>  <blockquote>   <p>&quot;cumulative update package&quot; appfabric</p> </blockquote>  <p>The following query does this search for you. Choose the latest one: </p>  <blockquote>   <p><a title="https://search.microsoft.com/en-us/supportresults.aspx?form=mssupport&amp;q=%22cumulative%20update%20package%22%20appfabric" href="https://search.microsoft.com/en-us/supportresults.aspx?form=mssupport&amp;q=%22cumulative%20update%20package%22%20appfabric">https://search.microsoft.com/en-us/supportresults.aspx?form=mssupport&amp;q=%22cumulative%20update%20package%22%20appfabric</a></p></blockquote>]]></content:encoded>
    </item>
    <item>
      <title>System.UnauthorizedAccessException: Access to the registry key 'Global' is denied</title>
      <link>https://docs.microsoft.com/archive/blogs/distributedservices/system-unauthorizedaccessexception-access-to-the-registry-key-global-is-denied</link>
      <pubDate>Fri, 21 Feb 2014 09:50:01 GMT</pubDate>
      <dc:creator><![CDATA[davidqiu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/distributedservices/2014/02/21/system-unauthorizedaccessexception-access-to-the-registry-key-global-is-denied/</guid>
      <description><![CDATA[Your AppFabroc client application may throw the following exception after you install a cumulative...]]></description>
      <content:encoded><![CDATA[<p>Your AppFabroc client application may throw the following exception after you install a cumulative update package (CU) for AppFabric 1.1: </p>  <blockquote>   <p>System.UnauthorizedAccessException: Access to the registry key 'Global' is denied.      <br />&#160;&#160; at Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)       <br />&#160;&#160; at Microsoft.Win32.RegistryKey.InternalGetValue(String name, Object defaultValue, Boolean doNotExpand, Boolean checkSecurity)       <br />&#160;&#160; at Microsoft.Win32.RegistryKey.GetValue(String name)       <br />&#160;&#160; at System.Diagnostics.PerformanceMonitor.GetData(String item)       <br />&#160;&#160; at System.Diagnostics.PerformanceCounterLib.GetPerformanceData(String item)       <br />&#160;&#160; at System.Diagnostics.PerformanceCounterLib.get_CategoryTable()       <br />&#160;&#160; at System.Diagnostics.PerformanceCounterLib.CategoryExists(String machine, String category)       <br />&#160;&#160; at System.Diagnostics.PerformanceCounterCategory.Exists(String categoryName, String machineName)       <br />&#160;&#160; at Microsoft.ApplicationServer.Caching.ClientPerformanceCounters.InitializeClientPerformanceCounters()       <br />&#160;&#160; at Microsoft.ApplicationServer.Caching.ClientPerformanceCounters.IsPerfCountersEnabled()       <br />&#160;&#160; at Microsoft.ApplicationServer.Caching.DataCacheFactory..ctor(DataCacheFactoryConfiguration configuration)</p> </blockquote>  <p>It is a registry permission issue. The check for performance monitor counters (ClientPerformanceCounters.IsPerfCountersEnabled) was first introduced in the CU1 release. You won't see the issue in AppFabric 1.0 and 1.1 RTM. </p>  <p>Workaround:</p>  <ul>   <li>Add the cache client application account to the following groups: Performance Monitor Users group and Performance Log Users group, and</li>    <li>Restart the cache client application</li> </ul>  <p>As of today, these are the AppFabric 1.1 cache client versions Microsoft has released: </p>  <p>RTM: 1.0.4632 (29-Nov-2011)    <br /> CU1: 1.0.4639 (20-Feb-2012)     <br /> CU2: 1.0.4644 (29-May-12)     <br /> CU3: 1.0.4652.2 (27-Nov-2012)     <br /> CU4: 1.0.4653.2 (28-Mar-2013) </p>  <p>CU=cumulative update</p>]]></content:encoded>
    </item>
    <item>
      <title>COM Server Cleanup : Now You Can Opt for a Fast Rundown</title>
      <link>https://docs.microsoft.com/archive/blogs/distributedservices/com-server-cleanup-now-you-can-opt-for-a-fast-rundown</link>
      <pubDate>Mon, 16 Dec 2013 10:23:49 GMT</pubDate>
      <dc:creator><![CDATA[broder]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/distributedservices/2013/12/16/com-server-cleanup-now-you-can-opt-for-a-fast-rundown/</guid>
      <description><![CDATA[Have you ever encountered a scenario where you have a COM server that you just want to get cleaned...]]></description>
      <content:encoded><![CDATA[<p>Have you ever encountered a scenario where you have a COM server that you just want to get cleaned up right away and not have to wait for <a href="https://support.microsoft.com/kb/171414" target="_blank">DCOM Garbage Collection</a> (DCOM GC) to kick in?&#160; Well, starting with Windows 8 / Windows Server 2012 you can.&#160; You can opt-in to the fast rundown path using the <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa344211(v=vs.85).aspx" target="_blank">IGlobalOptions</a> interface.&#160; Here is a code snippet on how to opt-in.&#160; Just put this in in your COM server’s initialization code.</p>    <pre class="csharpcode">        IGlobalOptions* pGlobalOptions = NULL;
        HRESULT hr = CoCreateInstance(CLSID_GlobalOptions, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&amp;pGlobalOptions));
        <span class="kwrd">if</span> (SUCCEEDED(hr))
        {
            pGlobalOptions-&gt;Set(COMGLB_RO_SETTINGS, <font style="background-color: rgb(255, 255, 0);">COMGLB_FAST_RUNDOWN</font>);
        }

        pGlobalOptions-&gt;Release();
        pGlobalOptions = NULL;</pre>




<p>A rundown is the process by with the RpcSs (RPC Server Service) calls release on COM stubs within a COM server application to release resources maintained by that COM stub.&#160; See <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/ms694309(v=vs.85).aspx" target="_blank">this</a> documentation for more information on COM stubs.&#160; By setting the global flag COMGLB_FAST_RUNDOWN all of the COM stubs in this COM server will be subject to the fast rundown behavior which means that stubs are run down on termination of the client process.&#160; This can be useful particularly in a case where a COM client might terminate abnormally and not call release on any COM proxies that it still references, e.g. a case where a COM client has crashed due to an unhandled exception.</p>

<p><strong>It should be noted that the fast rundown path only works if the COM client and server are on the same machine.</strong>&#160; For remote COM stubs this will not work and rundown will still be governed by the normal DCOM garbage collection process.&#160; Just as I did, you might wonder why this won’t work for remote COM servers.&#160; My best guess is this.&#160; DCOM Garbage Collection is performed through a pinging process where the client machine’s RpcSs service will <em>ping</em> the remote server’s RpcSs service to let it know the client is still alive. In the remote case the remote RpcSs service (running on the COM server machine) is responsible for running down stubs in the remote COM server, but the remote RpcSs service has no idea of when the client will exit since the client executable is running on a different machine.</p>

<p>What if you are not able to set this global flag, i.e. your have a COM DLL that is acts as a plug-in to another application?&#160; In this case you are not the owner of the COM server code and can’t set this global flag during process initialization.&#160; Even if you could set this global flag I don’t think the application owner would want you setting a global flag that would impact other plug-ins.&#160; In this case you can opt-in to the fast rundown behavior for just <em>your</em> COM objects by implementing the <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/dn280413%28v=vs.85%29.aspx" target="_blank">IFastRundown</a> marker interface.</p>]]></content:encoded>
    </item>
  </channel>
</rss>