home *** CD-ROM | disk | FTP | other *** search
- Option Explicit
-
- Function OnDefaultBodyLoad()
- '{
- Dim objApplication, objRequest, objWizardParam, objApps, objProfile, ApplicationItems
- Dim sAccountID, sSetupUrl, sTermsUrl, sCancelWarnUrl, sRedirectPage
- Dim sRemindMeUrl, sOemIni, sShortPath, sRegWizDataDir, sRegWizAppDirectory
- Dim nRegForce, nRegWizWaitState, nTrial, nCount, nIndex, nRunMode
- Dim bOldObfuscate, bShowWOW, bBootCountZero, bInternetConnection
-
- Call gobjReg.RegDeleteKey ( REG_REGWIZ_LOG_KEY )
-
- If False = SetExternalObject (gobjExternal) Then
- '{
- Call LogDetails ( "Error : Unable to create external object" )
- Call CloseWindow()
- Exit Function
- '}
- End If
-
- sRegWizAppDirectory = GetRegWizAppDir()
- If "" = sRegWizAppDirectory Then
- '{
- Call LogDetails ( "Error : RegApp directory is empty" )
- Call CloseWindow()
- Exit Function
- '}
- End If
-
- Call SetWizardStatus (REGWIZ_ONREBOOT)
-
- Call gobjExternal.SetParam ( PROP_BACKEND, "" )
- Call gobjExternal.SetParam ( PROP_REGURL, "" )
-
- '// Initialize subscription manager object
- Call InitScriptAPI(gobjSubMgr)
-
- Set objApplication = Nothing
- Call PopulateAppsToRegister( objApplication )
-
- If 0 = objApplication.Count Then
- '{
- Call LogDetails ( "No application found for registration" )
- Call SetWizardStatus (REGWIZ_SUCCESS)
- Call CloseWindow()
- Exit Function
- '}
- Else
- '{
- nRunMode = gobjExternal.GetParam ( MCREGWIZ_RUN_MODE )
- If nRunMode = CMDLINE_AUTORUN Then
- '{
- bBootCountZero = True
- bBootCountZero = IsBootCountZero()
-
- If (False = bBootCountZero) Then
- '{
- Call SetWizardStatus (REGWIZ_ONREBOOT)
- Call CloseWindow()
- Exit Function
- '}
- End If
- '}
- End If
-
- Call gobjExternal.SetParam ( PROP_MULTIPRODUCT_REGISTER, 1 )
-
- If objApplication.Count = 1 Then
- '{
- ApplicationItems = objApplication.Items
- Set objApps = ApplicationItems(0)
-
- Call gobjExternal.SetParam ( PROP_PRODDESC_HOLDER, objApps.Item(PROP_APPNAME) )
-
- nTrial = CLng(objApps.Item(PROP_TRIAL))
- Call gobjExternal.SetParam ( PROP_TRIAL, nTrial )
-
- If "vso" = LCase(objApps.Item(PROP_APPCAT)) Then
- '{
- Call gobjExternal.SetParam ( PROP_MULTIPRODUCT_REGISTER, 0 )
- '}
- End If
- '}
- Else
- '{
- Call gobjExternal.SetParam ( PROP_PRODDESC_HOLDER, CStr(STR_MULTI_PRODUCT_DESC) )
-
- nCount = objApplication.Count
-
- ApplicationItems = objApplication.Items
- Set objApps = ApplicationItems(0)
-
- nTrial = 1
-
- For nIndex = 0 To nCount-1
- '{
- If 0 = CLng(objApps.Item(PROP_TRIAL)) Then
- '{
- nTrial = 0
- Exit For
- '}
- End If
- '}
- Next
- Call gobjExternal.SetParam ( PROP_TRIAL, nTrial )
- '}
- End If
- '}
- End If
-
- sShortPath = GetAgentDir()
-
- '// Set Back Button Url's
- '// 1. Setup Screen Url. 2. Terms Screen Url
- sSetupUrl = PROTOCOL_MCP & sShortPath & REGWIZ_UI_DLL_WCOLON & PROFILE_HTM
- sTermsUrl = PROTOCOL_MCP & sShortPath & REGWIZ_UI_DLL_WCOLON & TERMS_HTM
- sCancelWarnUrl = PROTOCOL_MCP & sShortPath & REGWIZ_UI_DLL_WCOLON & THANKYOU_HTM
- sRemindMeUrl = PROTOCOL_MCP & sShortPath & REGWIZ_UI_DLL_WCOLON & REMINDME_HTM
-
- sOemIni = GetAgentDir()
- sOemIni = sOemIni & OEM_INI_WSLASH
-
- nRegForce = Trim (gobjReg.IniGetValue (sOemIni, SECTION_CUSTOM, KEY_REG_FORCE))
-
- If "" = nRegForce Then
- '{
- nRegForce = 0
- '}
- Else
- '{
- nRegForce = CLng(nRegForce)
- '}
- End If
-
- '// Set client side navigation url's for server pages.
- Call gobjExternal.SetParam ( PROP_SETUP_URL, sSetupUrl )
- Call gobjExternal.SetParam ( PROP_TERMS_URL, sTermsUrl )
- Call gobjExternal.SetParam ( PROP_CANCELWARN_URL, sCancelWarnUrl )
- Call gobjExternal.SetParam ( PROP_REMINDME_URL, sRemindMeUrl )
-
- Call gobjExternal.SetParam ( PROP_FORCE_REG, nRegForce )
-
- Set objRequest = CreateObject ("Scripting.Dictionary")
-
- '// Version #
- objRequest.Add PROP_VERSION, REGWIZ_VERSION
-
- '// AccountID
- sAccountID = GetAccountID()
- objRequest.Add PROP_ACCOUNTID, sAccountID
-
- '// WizardParam
- Call CreateWizardParam ( objWizardParam )
- objRequest.Add PROP_WIZARDPARAM, objWizardParam
-
- '// Profile
- If "" <> sAccountID Then
- '{
- Call LogDetails ( "---------------------------------" )
- Call LogDetails ( "Account ID found" )
- objRequest.Add PROP_PROFILE, Nothing
- '}
- Else
- '{
- Call LogDetails ( "---------------------------------" )
- Call LogDetails ( "Account ID not found" )
- '// Populate existing data, if any
- sRegWizDataDir = GetRegWizDataDir()
-
- Set objProfile = CreateObject ( "Scripting.Dictionary" )
-
- bOldObfuscate = gobjReg.Obfuscate
- gobjReg.Obfuscate = True
-
- objProfile.Add PROP_FIRSTNAME, Trim(CStr(gobjReg.IniGetValue( CStr(sRegWizDataDir & PROFILE_INI), SECTION_USERPROFILE, KEY_FIRSTNAME )))
- objProfile.Add PROP_LASTNAME, Trim(CStr(gobjReg.IniGetValue( CStr(sRegWizDataDir & PROFILE_INI), SECTION_USERPROFILE, KEY_LASTNAME )))
- objProfile.Add PROP_EMAILADDRESS, Trim(CStr(gobjReg.IniGetValue( CStr(sRegWizDataDir & PROFILE_INI), SECTION_USERPROFILE, KEY_EMAILADDRESS )))
- objProfile.Add PROP_PASSWORD, Trim(CStr(gobjReg.IniGetValue( CStr(sRegWizDataDir & PROFILE_INI), SECTION_USERPROFILE, KEY_PASSWORD )))
- objProfile.Add PROP_COUNTRY, USER_PROFILE_COUNTRY
- objProfile.Add PROP_LANGUAGE, REGWIZ_LANG_ID
-
- gobjReg.Obfuscate = bOldObfuscate
-
- objRequest.Add PROP_PROFILE, objProfile
- '}
- End If
-
- '// Application
- objRequest.Add PROP_APPLICATION, objApplication
-
- Call gobjExternal.SetParam ( PROP_REGREQUEST, objRequest )
-
- '// Deinitialize subscription manager object
- Call DeinitScriptAPI()
-
- 'Call TestValues ( PROP_REGREQUEST )
-
- nRegWizWaitState = gobjExternal.GetParam ( MCREGWIZ_WAIT_STATE )
-
- sRedirectPage = UPROSET_HTM
-
- '// No wow screen for retail product
- Call gobjExternal.SetParam ( PROP_ERROR_CODE, 0 )
- bShowWOW = gobjExternal.GetParam ( PROP_SHOW_WOW )
-
- Dim bAdmin
- bAdmin = gobjOS.IsAdministrator()
-
- If REGWIZ_STATE_INETWAIT = nRegWizWaitState Then
- '{
- bInternetConnection = True
- bInternetConnection = gobjOS.InternetGetConnectedState()
-
- If False = bInternetConnection Then
- '{
- Call LogDetails ( "Default.htm : Internet Wait State : No internet connection available." )
-
- sRedirectPage = REMINDME_HTM
- If 1 = nRegForce Then
- sRedirectPage = SUBMITONCONNECT_HTM
- End If
- '}
- Else
- '{
- Call LogDetails ( "Default.htm : Internet Wait State : Internet connection available." )
-
- sRedirectPage = INETCONRM_HTM
- If 1 = nRegForce Then
- sRedirectPage = FORCESUB_HTM
- End If
- '}
- End If
- '}
- ElseIf False = bAdmin Then
- '{
- Call LogDetails ( "Admin rights not found. Display admin rights required error message." )
- Call gobjExternal.SetParam ( PROP_ERROR_CODE, MCINST_ADMIN_REQUIRED )
- sRedirectPage = ERROR_HTM
- '}
- End If
-
- Call LogDetails ( "Default.htm : Registration required. Transfering control to : " & sRedirectPage )
-
- Call gobjExternal.ShowWindow (1)
- Call window.location.replace ( CStr(sRedirectPage) )
- '}
- End Function
-
- Function CreateWizardParam( ByRef objWizardParam )
- '{
- Dim sCustomID, sLang, sOemIni, sCompleteUrl, sTemp, sShortPath
-
- sShortPath = GetAgentDir()
- 'sShortPath = gobjFS.GetShortPathName (sTemp)
- sOemIni = sShortPath & OEM_INI_WSLASH
-
- sCustomID = Trim(gobjReg.IniGetValue (sOemIni, SECTION_CUSTOM, KEY_CUSTOM_ID))
- sLang = REGWIZ_LANG_ID
-
- sCompleteUrl = PROTOCOL_MCP & sShortPath & REGWIZ_UI_DLL_WCOLON & COMPLETION_HTM
-
- Set objWizardParam = Nothing
- Set objWizardParam = CreateObject ("Scripting.Dictionary")
-
- objWizardParam.Add PROP_CUSTOMID, sCustomID
- objWizardParam.Add PROP_LANGUAGE, sLang
- objWizardParam.Add PROP_COMPLETION_URL, sCompleteUrl
- '}
- End Function
-
- Function PopulateAppsToRegister( ByRef objApplication )
- '{
- Dim sRegWizAppDir, sTemp, sIniFiles, nIdx, nResult, nSlashPos
- Dim sAppID, sAppCode, sRegUrl, sBackend, sWebSite, sIni
- Dim sAppName, sAppDesc, sTrialSubDesc, sAffID, sAppRegKey
- Dim objApps, objCustomData, objSubInfo
- Dim bSubscribed, sOemIni, bTempobfuscate
-
- sRegWizAppDir = GetRegWizAppDir()
- 'sRegWizAppDir = gobjFS.GetShortPathName (sRegWizAppDir)
-
- Set objApplication = CreateObject ("Scripting.Dictionary")
- Set objApps = Nothing
-
- If "" = sRegWizAppDir Then
- Exit Function
- End If
-
- sIniFiles = gobjFS.EnumerateFolder ( sRegWizAppDir & "\*.ini" )
-
- For nIdx = LBound(sIniFiles) To UBound(sIniFiles)
- '{
- sIni = LCase(sIniFiles(nIdx,0))
-
- If True = gobjFS.IsFile(sIni) Then
- '{
- sAppID = Trim(gobjReg.IniGetValue (sIni, SECTION_REGISTER, KEY_APPID))
- sAppRegKey = REGKEY_AGENT_APPS & sAppID
-
- If "" <> sAppID And True = gobjReg.RegKeyPresent(sAppRegKey) Then
- '{
- Call LogDetails ( "-------------------------------" )
- Call LogDetails ( sIni & " found for registration" )
-
- sAppCode = Trim(gobjReg.IniGetValue (sIni, SECTION_REGISTER, KEY_APPCODE))
- sAffID = Trim(gobjReg.IniGetValue (sIni, SECTION_REGISTER, KEY_AFFID))
-
- If "" <> sAppCode Then
- '{
- sTemp = ""
- sTemp = gobjExternal.GetParam ( PROP_BACKEND )
- If "" = sTemp Then
- '{
- sBackend = Trim(gobjReg.IniGetValue (sIni, SECTION_REGISTER, PROP_BACKEND))
- Call gobjExternal.SetParam ( PROP_BACKEND, sBackend )
- '}
- End If
-
- sTemp = ""
- sTemp = gobjExternal.GetParam ( PROP_REGURL )
- If "" = sTemp Then
- '{
- 'sOemIni = GetAgentDir()
- 'sOemIni = sOemIni & OEM_INI_WSLASH
-
- 'sRegUrl = Trim(gobjReg.IniGetValue (sOemIni, SECTION_CUSTOM, PROP_REGURL))
-
- '// get the registration url from registry
- bTempobfuscate = gobjReg.Obfuscate
- gobjReg.Obfuscate = True
- sRegUrl = Trim(gobjReg.RegQueryValue ( REG_REGWIZ_KEY, REG_REGWIZ_URL_KEY ))
- gobjReg.Obfuscate = bTempobfuscate
-
- '// if not present, then get it from the application ini file
- If "" = sRegUrl Then
- '{
- sRegUrl = Trim(gobjReg.IniGetValue (sIni, sBackend, PROP_REGURL))
- '}
- End If
- If "" <> sRegUrl Then
- '{
- Call gobjExternal.SetParam ( PROP_REGURL, sRegUrl )
- '}
- End If
- '}
- End If
-
- bSubscribed = IsPartnerAppActivated(sAppID, sAppCode, sBackend, sAffID, nResult)
-
- Call GetAppCustomData ( sIni, SECTION_REGISTER, objCustomData )
-
- If False = bSubscribed Then
- '{
- Set objApps = Nothing
- Set objApps = CreateObject ("Scripting.Dictionary")
-
- objApps.Add PROP_APPCAT, sAppID
- objApps.Add PROP_APPCODE, sAppCode
- objApps.Add PROP_CUSTOMDATA, objCustomData
-
- sAppName = Trim(gobjReg.IniGetValue (sIni, SECTION_REGISTER, KEY_APP_NAME))
- sAppDesc = Trim(gobjReg.IniGetValue (sIni, SECTION_REGISTER, KEY_APP_DESC))
- sTrialSubDesc = Trim(gobjReg.IniGetValue (sIni, SECTION_REGISTER, KEY_TRIALSUB_DESC))
-
- objApps.Add PROP_APPNAME, sAppName
- objApps.Add PROP_APPDESC, sAppDesc
- objApps.Add PROP_APPTRIALSUBDESC, sTrialSubDesc
-
- Call GetApplicationRegInfo ( sIni, SECTION_REGISTER, objApps )
-
- objApplication.Add LCase(sAppCode), objApps
- '}
- Else
- '{
- Call LogDetails ( "AppID : " & sAppID & " , AppCode : " & sAppCode & " , Backend : " & sBackend & " already registered" )
-
- Call GetSubInfo (sAppID, sAppCode, objSubInfo)
- sWebSite = objSubInfo.Website
-
- Call PerformPostReg ( sIni, sWebSite )
-
- Call LogDetails ( "Application already registered. Deleting file : " & sIni )
- Call gobjFS.RemoveFiles ( sIni, "" )
- '}
- End If
- '}
- Else
- '{
- Call LogDetails ( "AppID or AppCode is missing in " & sIni )
- '}
- End If
- '}
- Else
- '{
- Call LogDetails ( "-------------------------------" )
- Call LogDetails ( "Either " & sIni & " is missing or " & sAppRegKey & " not found" )
- Call LogDetails ( "Deleting the file : " & sIni )
-
- Call gobjFS.RemoveFiles ( sIni, "" )
- '}
- End If
- '}
- End If
- '}
- Next
- '}
- End Function
-
- Function GetAppCustomData ( ByVal sIni, ByVal sSection, ByRef objCustomData )
- '{
- Dim sVal, sCustData, sKey, sName, sValue, sValSplit
- Dim nIdx
- Dim bOldObfuscate
-
- sCustData = gobjReg.IniGetValue( sIni, sSection, KEY_CUSTOMDATA )
- sVal = gobjReg.IniGetMultipleValues( sIni, sCustData )
-
- bOldObfuscate = gobjReg.Obfuscate
-
- gobjReg.AllowEveryone = True
- gobjReg.Obfuscate = False
-
- Set objCustomData = Nothing
- Set objCustomData = CreateObject ("Scripting.Dictionary")
-
- For nIdx = LBound(sVal) To UBound(sVal)
- '{
- sValue = LCase(sVal(nIdx, 1))
- sName = LCase(sVal(nIdx, 0))
-
- If InStr (sName, "$reg$") > 0 Then
- '{
- sValSplit = split (sValue, ",")
-
- sName = Trim(sValSplit(1))
- sKey = Trim(sValSplit(0))
-
- sValue = Trim(gobjReg.RegQueryValue ( sKey, sName ))
- '}
- End If
-
- objCustomData.Add sName, sValue
- '}
- Next
-
- If 0 = objCustomData.Count Then
- Set objCustomData = Nothing
- End If
-
- gobjReg.Obfuscate = bOldObfuscate
- '}
- End Function
-
- Function GetApplicationRegInfo ( ByVal sIni, ByVal sSection, ByRef objApps )
- '{
- Dim nTrial, nPerpetual
-
- objApps.Add PROP_AFFID, Trim(gobjReg.IniGetValue (sIni, sSection, KEY_AFFID))
- objApps.Add PROP_COUNTRY, Trim(gobjReg.IniGetValue (sIni, sSection, KEY_COUNTRY))
- objApps.Add PROP_LANGCODE, Trim(gobjReg.IniGetValue (sIni, sSection, KEY_LANG))
-
- nPerpetual = Trim(gobjReg.IniGetValue (sIni, sSection, KEY_PERPETUAL))
- If "" = nPerpetual Then
- nPerpetual = 0
- Else
- If IsNumeric(nPerpetual) Then
- nPerpetual = CLng(nPerpetual)
- Else
- nPerpetual = 0
- End If
- End If
-
- objApps.Add PROP_PERPETUAL, CLng(nPerpetual)
-
- nTrial = Trim(gobjReg.IniGetValue (sIni, sSection, KEY_TRIAL))
- If "" = nTrial Then
- nTrial = 1
- Else
- If IsNumeric(nTrial) Then
- nTrial = CLng(nTrial)
- Else
- nTrial = 1
- End If
- End If
-
- objApps.Add PROP_TRIAL, CLng(nTrial)
-
- objApps.Add PROP_ACCOUNTID, ""
- objApps.Add PROP_SYNCURL, ""
- objApps.Add PROP_WEBSITE, ""
- objApps.Add PROP_BACKEND, ""
- objApps.Add PROP_EXPIRYDATE, ""
- objApps.Add PROP_SUBTYPE, 0
- objApps.Add PROP_SUBSTATUS, 0
- '}
- End Function
-
- Function GetAccountID ()
- '{
- Dim sBackend, sAccountID
-
- sBackend = gobjExternal.GetParam ( PROP_BACKEND )
-
- GetAccountID = ""
-
- If "" <> sBackend Then
- '{
- Call GetUserRegistered(sBackend, sAccountID)
- GetAccountID = sAccountID
- '}
- End If
- '}
- End Function