Pages

Monday, September 21, 2015

How-To: Fix Cisco VPN Client issues in Windows 10

Trying to have Cisco VPN Client to work after upgrading to Windows 8 been an annoying headache to lots of people and now the same goes for Windows 10 :(  .. Cisco VPN Installer never completes, aborting with the error: "error 27850 (Unable to manage networking component. Operating system corruption may be preventing installation)."

Thanks to google and Eric M's post after God's Guide, here are the steps to get the Cisco VPN Client to work in Windows 10.

1 Ensure you are using the latest version of Cisco VPN Client

At the time, the most recent version and the one I used was 5.0.07.0440.

2 Pre-Install the DNE software

The issue seems to be with Cisco's installer not being able to make the required changes to fully add the DNE driver to the system. You can avoid that by having it pre-installed. You can get this from Citrix's site here:


About 1/2 way down, you will find the "Other DNE Problems" with links to 32-bit and 64-bit versions.


3 Install the Cisco VPN Client

Once the DNE is installed, the Cisco software should now work correctly... Install it now.

4 More issues: Reason 442: Failed to enable Virtual Adapter

Like in previous versions of Windows, the registry key for the driver ends up with information in front of the name that prevents the VPN software from enabling the Virtual Adapter. This can be fixed by correcting the registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CVirtA\DisplayName
It will be preceded by something like "@oemX.inf,%CVirtA_Desc%;" remove this so the line entry reads similar to "Cisco Systems VPN Adapter for 64-bit Windows"


 Now you should be able to add your VPN Connection details and get connected. Hope this works with you.
UPDATE:
Had some issues with an updated version of windows 10.. installed global VPN Client from http://help.mysonicwall.com/Applications/vpnclient/  and then CISCO VPN Client installed without any issues :)

References

Monday, March 16, 2015

How-To remove HTMLTags to display plain text using XSLT


In this post i will be showing how you can use XSLT to strip out HTML tags from HTML data sources (Rss, sharepoint list item, database field ... etc) and display plain text

Below is the function to remove HTML tags:

  <xsl:template name="removeHtmlTags">
    <xsl:param name="html"/>
    <xsl:choose>
      <xsl:when test="contains($html, '&lt;')">
        <xsl:value-of select="substring-before($html, '&lt;')"/>
        <!-- Recurse through HTML -->
        <xsl:call-template name="removeHtmlTags">
          <xsl:with-param name="html" select="substring-after($html, '&gt;')"/>
        </xsl:call-template>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="$html"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

You can see that the function name is removeHtmlTags which accepts one argument / parameter named as html which is my Description field that contains HTML Tags.
Logic is simple, its a recursive function which finds for '&lt;' that is '<' means starting of any HTML Tag and take out the substring after this '<' Tag using substring-before() function as substring-before($html, '&lt;') and again call the function with the rest of the string left after  '&gt;' that is '>' Tag.

This is how this function will be called:

    <xsl:template name="RssCell">
        <xsl:variable name="pureText">
            <xsl:call-template name="removeHtmlTags">
                <xsl:with-param name="html" select="DescriptionField" />
            </xsl:call-template>
        </xsl:variable>

        <div height='40' class='blog_text'>
            <xsl:value-of disable-output-escaping="yes"  select="substring($pureText, 0, 175)"/>
        </div>
    </xsl:template>

One Variable is declared as pureText. removeHtmlTags() function will strip out the HTML Tags and return the Plain Text values in this pureText variable.
I am passsin DescriptionField that is my DB Field with HTML Tags.

Finally, I am displaying max 175 chars of Plain Text as substring($pureText, 0, 175) inside a DIV.

Thats It!


Reference