⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 registry.rul

📁 vc环境下的pgp源码
💻 RUL
📖 第 1 页 / 共 2 页
字号:
// $Id: registry.rul,v 1.33 1999/04/29 22:46:42 philipn Exp $
//____________________________________________________________________________
//	Copyright (C) 1998 Pretty Good Privacy, Inc.
//	All rights reserved.
//	
//  Author: Philip Nathan
//____________________________________________________________________________


///////////////////////////////////////////////////////////////////////////////
//
// Function: SetupRegistry
//
//  Purpose: This function makes the registry entries for this setup.
//
///////////////////////////////////////////////////////////////////////////////
function SetupRegistry()
    NUMBER nResult, nvResult, nvType, AsciNum, nvSize;
    NUMBER nvPathLen, nType, IndexNumber, Index;
	STRING svResult, szKey, szLocalDB, szValue, szName;
	STRING svTarget, svNetTarget, KeyStub, svValue, szInsertLine;

begin
    // Add all registry entry keys here.
    svTarget = TARGETDIR;

    RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
	GetSystemInfo (DATE, nvResult, svResult);
	
	//This is cleanup for PGP6.5 bug
	RegDBDeleteKey ("HKEY_LOCAL_MACHINE\\SOFTWARE\\Network Associates\\PGP");
	
	RegDBSetKeyValueEx
	("SOFTWARE\\Network Associates\\PGP","Version",
	REGDB_STRING, PRODUCT_VERSION,-1);

    //If this is a client install set the Date entry
	if (bImAdminInstall = TRUE) then
		RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
		GetSystemInfo (DATE, nvResult, svResult);
		RegDBSetKeyValueEx
		("SOFTWARE\\Network Associates\\PGP","InstallDate",
		REGDB_STRING, svResult,-1);
	endif;
	
	//PGPnet Entries
	if (ComponentIsItemSelected(MEDIA,"PGPnet") = TRUE) then
		VarSave(SRCTARGETDIR);
		SRCDIR = TARGETDIR;
		LongPathToShortPath (TARGETDIR);
		szInsertLine = "StartDetachedProcess ExitCode \"\" \"\" " + TARGETDIR ^ "SetAdapter.exe delreg";
		FileInsertLine ( "PGPRebind.inf" , szInsertLine , 2 , AFTER );
		VarRestore(SRCTARGETDIR);
	
		RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
		szLocalDB = "SOFTWARE\\Network Associates";
		
		RegDBSetKeyValueEx (szLocalDB ^ "PGP\\PGPnet" ,"InstallPath",REGDB_STRING,svTarget,-1);
		svNetTarget = svTarget;
		
		//Ensure no old cancelled entry exists
		RegDBDeleteValue (szLocalDB ^ "PGP\\PGPnet" , "PGPnetCancelled");
		
		//Launch the lister for card selection
		LongPathToShortPath (svNetTarget);
		ChangeDirectory(svNetTarget);
		if (bEasyInstall) then
			LaunchAppAndWait (svNetTarget ^ "SetAdapter.exe","installs", WAIT);
		else
			LaunchAppAndWait (svNetTarget ^ "SetAdapter.exe","install", WAIT);
		endif;
		
		RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
		if (RegDBGetKeyValueEx (szLocalDB ^ "PGP\\PGPnet" , "PGPnetCancelled" , nvType , svValue , nvSize )<0) then
			//Set service entries(IkeService writes them)
			//-i writes -u removes.
			if ((bIsWindows95)||(bIsWindows98)) then
				/*service entry for pgpike95*/
				RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
				szLocalDB = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunServices";
				RegDBSetKeyValueEx (szLocalDB ,"IKEService95",REGDB_STRING,svTarget ^ "IKEService.exe",-1);
				else
				LaunchApp(svTarget ^ "IKEservice.exe","-i");
			endif;
		else
			//PGPnet Lister was cancelled by the user
			UninstallPGPnet (svTarget);
			ComponentSelectItem(MEDIA,"PGPnet",FALSE);
		endif;
	endif;
	
	//If this is NT set the PGPmemlock entries
	if (bIsWindowsNT4 = TRUE) then
		RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
		szKey = "SYSTEM\\CurrentControlSet\\Services\\PGPmemlock";
		RegDBSetKeyValueEx (szKey ,"ErrorControl",REGDB_NUMBER,"1",-1);
		RegDBSetKeyValueEx (szKey ,"Type",REGDB_NUMBER,"1",-1);
		RegDBSetKeyValueEx (szKey ,"Start",REGDB_NUMBER,"2",-1);
		RegDBSetKeyValueEx (szKey ,"DisplayName",REGDB_STRING,"PGP secure memory driver",-1);
	endif;
	
	//set reg. key to remove shared files (SDK)
	if (ComponentIsItemSelected( MEDIA , "SDK" ) = TRUE) then
		RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
		szLocalDB = "\\SOFTWARE" ^ "Network Associates";
		RegDBSetKeyValueEx
		(szLocalDB ^ @REGAPP_NAME,"DelSharedFiles",REGDB_STRING,"1",-1);
	endif;

	//This is old 4.5 check	
	nvType = REGDB_STRING;
	RegDBSetDefaultRoot(HKEY_CURRENT_USER);
	if (RegDBGetKeyValueEx("Software\\PGP\\PNDetect\\Modules","PGP Plugin"
	,nvType,szEudoraPath,nvPathLen) = 0) then
		if (bEasyInstall = FALSE) then
			// ask if they want to remove the 4.5 plugin
			SetDialogTitle
			(DLG_ASK_YESNO,"Disable the PGPmail 4.5 Eudora/Netscape Plugin?");
			if (AskYesNo
			("Do you wish to disable the PGPmail 4.5 Eudora/Netscape Plugin?"
			,YES) = YES) then
				RegDBDeleteValue
				("Software\\PGP\\PNDetect\\Modules","PGP Plugin");
			endif;
		else
			RegDBDeleteValue
			("Software\\PGP\\PNDetect\\Modules","PGP Plugin");
		endif;
	endif;
	
	//These are the PGPdisk entries
	if (ComponentIsItemSelected(MEDIA,"PGPdisk") = TRUE) then
		//SETTING WINDOWS 95 SPECIFIC REGISTRY VALUES
		if (bIsWindowsNT4 = FALSE) then
			RegDBSetDefaultRoot (HKEY_LOCAL_MACHINE);
			szKey = "Enum\\Root\\PGPdisk\\0000";
			szName = "Class";
			nType = REGDB_STRING;
			szValue = "PGPdisk";
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

			szName = "ConfigFlags";
			nType = REGDB_BINARY;
			szValue = "";
			for Index = 0 to 3
				AsciNum = 0;
				if (Index = 0) then
					AsciNum = 4;
				endif;
				SetByte (szValue, Index, AsciNum);
			endfor;
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, 4);

			szName = "DeviceDesc";
			nType = REGDB_STRING;
			szValue = "PGPdisk Volume Driver";
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

			szName = "Driver";
			nType = REGDB_STRING;
			szValue = "PGPdisk\\0000";
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

			szName = "ForcedConfig";
			nType = REGDB_BINARY;
			szValue = "";
			for Index = 0 to 11
				AsciNum = 0;
				if (Index = 1) then
					AsciNum = 4;
				endif;
				SetByte (szValue, Index, AsciNum);
			endfor;
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, 12);

			szName = "HardwareID";
			nType = REGDB_STRING;
			szValue = "*PGPdisk";
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

			szName = "Mfg";
			nType = REGDB_STRING;
			szValue = "Network Associates, Inc.";
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);
		
			szKey = "Enum\\Root\\PGPdisk\\0000\\LogConfig";

			szName = "0";
			nType = REGDB_BINARY;
			szValue = "";
			for Index = 0 to 11
				AsciNum = 0;
				if (Index = 1) then
					AsciNum = 4;
				endif;
				if (Index = 5) then
					AsciNum = 224;
				endif;
				SetByte (szValue, Index, AsciNum);
			endfor;
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, 12);
		
			szKey = "System\\CurrentControlSet\\Services\\Class\\PGPdisk";

			szName = "";
			nType = REGDB_STRING;
			szValue = "PGPdisk Volume Driver";
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

			szName = "Icon";
			nType = REGDB_STRING;
			szValue = "-9";
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);
		
			szKey = "System\\CurrentControlSet\\Services\\Class\\PGPdisk\\0000";

			szName = "DevLoader";
			nType = REGDB_STRING;
			szValue = "*IOS";
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

			szName = "DriverDesc";
			nType = REGDB_STRING;
			szValue = "PGPdisk Volume Driver";
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

			szName = "PortDriver";
			nType = REGDB_STRING;
			szValue = "PGPDISK.pdr";
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

		// NT SPECIFIC ENTRIES
		else
				RegDBSetDefaultRoot (HKEY_LOCAL_MACHINE);
			szKey = "System\\CurrentControlSet\\Services\\PGPdisk";
			
			szName = "Type";
			nType = REGDB_NUMBER;
			szValue = "1";
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

			szName = "Start";
			nType = REGDB_NUMBER;
			szValue = "2";
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

			szName = "ErrorControl";
			nType = REGDB_NUMBER;
			szValue = "1";
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

			szName = "Group";
			nType = REGDB_STRING;
			szValue = "Extended Base";
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

			szKey = "System\\CurrentControlSet\\Services\\EventLog\\System\\PGPdisk";

			szName = "EventMessageFile";
			nType = REGDB_STRING;
			szValue = WINSYSDIR ^ "Drivers" ^ "PGPdisk.sys";
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

			szName = "TypesSupprted";
			nType = REGDB_NUMBER;
			szValue = "7";
			RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);
		endif;

		//
		//SETTING WINDOWS 95 / WINDOWS NT COMMON REGISTRY VALUES
		//HKEY_CLASSES_ROOT
		//
		RegDBSetDefaultRoot (HKEY_CLASSES_ROOT);

		szKey = ".pgd";

		szName = "";
		nType = REGDB_STRING;
		szValue = "PGPdisk Volume";
		RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

		szKey = ".pgd\\ShellNew";

		szName = "Command";
		nType = REGDB_STRING;
		LongPathToShortPath (svTarget);
		szValue = svTarget ^ "PGPDISK.EXE create \"%2\"";

		RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);	

		szKey = "PGPdisk Volume";

		szName = "";
		nType = REGDB_STRING;
		szValue = "PGPdisk Volume";
		RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);	

		szKey = "PGPdisk Volume\\DefaultIcon";

		szName = "";
		nType = REGDB_STRING;
		szValue = svTarget ^ "PGPDISK.EXE,5";
		RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

		szKey = "PGPdisk Volume\\shell\\open\\command";

		szName = "";
		nType = REGDB_STRING;
		szValue = svTarget ^ "PGPDISK.EXE open \"%1\"";
		//LongPathToShortPath (szValue);
		RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

		szKey = "CLSID\\{F8B14440-3785-11D1-B363-5C6F08C10000}";

		szName = "";
		nType = REGDB_STRING;
		szValue = "PGPdisk Shell Extension";
		RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

		szKey = "CLSID\\{F8B14440-3785-11D1-B363-5C6F08C10000}\\InProcServer32";

		szName = "";
		nType = REGDB_STRING;
		szValue = "PGPdskSE.dll";
		RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

		szName = "ThreadingModel";
		nType = REGDB_STRING;
		szValue = "Apartment";
		RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

		szKey = "PGPdisk Volume\\shellex\\ContextMenuHandlers\\PGPdisk Shell Extension";

		szName = "";
		nType = REGDB_STRING;
		szValue = "{F8B14440-3785-11D1-B363-5C6F08C10000}";
		RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

		szKey = "Drive\\shellex\\ContextMenuHandlers\\PGPdisk Shell Extension";

		szName = "";
		nType = REGDB_STRING;
		szValue = "{F8B14440-3785-11D1-B363-5C6F08C10000}";
		RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

		//HKEY_LOCAL_MACHINE
		RegDBSetDefaultRoot (HKEY_LOCAL_MACHINE);

		szKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved";

		szName = "{F8B14440-3785-11D1-B363-5C6F08C10000}";
		nType = REGDB_STRING;
		szValue = "PGPdisk Shell Extension";
		RegDBSetKeyValueEx (szKey, szName, nType, szValue, -1);

		//HKEY_LOCAL_MACHINE
		RegDBSetDefaultRoot (HKEY_LOCAL_MACHINE);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -