~☆~ 우하하!!~ 개발블로그

[자바스크립트] 설치된 .NET Framework 알아오기 본문

C# & .NET

[자바스크립트] 설치된 .NET Framework 알아오기

iwoohaha 2008. 9. 11. 17:30
728x90
반응형
출처 : http://www.codeproject.com/KB/smart/SmartDemo.aspx

ClickOnce 배포방법을 통해서 응용 프로그램 배포시 .NET Framework 도 함께 배포할 수 있지만
.NET Framework 설치시 너무 오랜 시간이 걸리는 듯 하다.

사용자에게 .NET Framework 설치가 오래 걸린다는 것을 친절하게 알려주려면
사용자 시스템에 .NET Framework 가 설치되어 있는지를 검출해야 한다.

아래 자바스크립트는 이런 기능을 한다.
<SCRIPT Language="JavaScript">
<!--

//Adding Dotnet Script START ******************

runtimeVersion = "2.0.0";
directLink = "Bomedit.application";

//function window::onload()

function checkComponent()
{
if (HasRuntimeVersion(runtimeVersion))
{
InstallButton.href="http://<DevelopmentMachineName>" +
"/<VirtualDirectory>/<ApplicatonName>.application";
}
else{
//If framework is not installed give the link to install the same;

window.open("http://<DeploymentMachineName>/VirtualDirectory /Test.htm");
}
}

function HasRuntimeVersion(v)
{
var va = GetVersion(v);
var i;
var a = navigator.userAgent.match(/\.NET CLR [0-9.]+/g);

if (a != null)
for (i = 0; i < a.length; ++i)
if (CompareVersions(va, GetVersion(a[i])) <= 0)
return true;
return false;
}

function GetVersion(v)
{
var a = v.match(/([0-9]+)\.([0-9]+)\.([0-9]+)/i);
return a.slice(1);
}

function CompareVersions(v1, v2)
{
for (i = 0; i < v1.length; ++i)
{
var n1 = new Number(v1[i]);
var n2 = new Number(v2[i]);

if (n1 < n2)
return -1;
if (n1 > n2)
return 1;
}
return 0;
}

//Adding Dotnet Script End ******************

-->
</SCRIPT>

현재 시스템에 설치되어 있는 .NET Framework 를 보여주는 테스트 페이지

반응형