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

📄 setup.rul

📁 vc环境下的pgp源码
💻 RUL
📖 第 1 页 / 共 3 页
字号:
// $Id: Setup.rul,v 1.52.4.3 1999/06/16 05:52:11 philipn Exp $
//____________________________________________________________________________
//	Copyright (C) 1998 Pretty Good Privacy, Inc.
//	All rights reserved.
//	
//  Author: Philip Nathan
//____________________________________________________________________________

// Include header files

    #include "sdlang.h"
    #include "sddialog.h"

// ----- DLL function prototypes -----


    // your DLL function prototypes
	prototype	BOOL PGPdskIH.IsVolumeAPGPdisk(INT);
	prototype	PGPdskIH.KillPGPdiskResident();
	prototype	PGPdskIH.PGPdiskCleanup();
	prototype	BOOL PGPdskIH.LoadPGPdiskDriver();
	prototype	BOOL PGPdskIH.AreAnyPGPdisksMounted();
	prototype	BOOL PGPdskIH.UnmountAllPGPdisks();
	prototype	LONG version.GetFileVersionInfoSizeA(STRING,BYREF LONG);
	prototype	BOOL version.GetFileVersionInfoA(STRING,LONG,LONG,BYREF STRING);
	prototype	BOOL version.VerQueryValueA(BYREF STRING,STRING,BYREF POINTER,BYREF NUMBER);
	prototype 	INT install.StopService(STRING);	
	prototype	install.RefreshStartMenu();	
	
// ---- script function prototypes -----
	prototype Uninstall65();
	prototype DeleteSharedFile(STRING, STRING);
	prototype UninstallPGPdisk(STRING);
	prototype UninstallPGPnet (STRING);
	prototype CheckRequirements();
	prototype Reboot();
	prototype ShutDownApps();
	prototype SetEnvVar(BOOL, STRING);
	
	BOOL bIsShellExplorer, bIsWindowsNT4, bIsWindowsNT351, bIsWindows95;
	BOOL bIs32BitSetup, bIsWindows98;
	STRING gInstallDir;
	
program
    Disable( BACKGROUND );
    CheckRequirements();
    ShutDownApps();
	Uninstall65();
	Reboot();
endprogram

///////////////////////////////////////////////////////////////////////////////
//
// Function: UNINSTALL  6.5
//
//  Purpose: Uninstalls PGP65
//
//
///////////////////////////////////////////////////////////////////////////////
function Uninstall65 ()
	STRING szLocalDB, szName, svValue, svInstallDir, szKey;
	STRING szResultBuffer, OEinstall, Installdir;
	STRING szData, szTemp, szFileName, szUserDir;
	NUMBER nvType, nvSize, nSize, nHandle;
	LONG lData, lSize;
    BOOL DeleteSharedDLLS, bVerValue, bUpgraded, bVerInfo, bPGPnetReboot;
    BOOL bOpt1, bOpt2;
    POINTER ptr1, ptr2;

begin

    VarSave (SRCTARGETDIR);
	//Get the install directory
    RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
    szKey = "SOFTWARE\\Network Associates\\PGP";
    szName = "InstallPath";
    RegDBGetKeyValueEx (szKey, szName, nvType, svValue, nvSize);
    Installdir = svValue;
    gInstallDir = svValue;

    //Remove the service info.
	//This needs to be done before SDK removal
	//This needs to be done before SDK removal
	if ((bIsWindows95)||(bIsWindows98)) then
		/*service entry for pgpike95*/
		RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
		szLocalDB = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunServices";
		RegDBDeleteValue ( szLocalDB , "IKEService95" );
	else	
		LaunchAppAndWait (Installdir ^ "IKEservice.exe","-u", WAIT);
	endif;	
	
	TARGETDIR = WINSYSDIR;
    DeleteFile ("randseed.bin");
    DeleteFile ("PGP.hlp");
    DeleteFile ("PGP.gid");
    //DELETE .DLL'S FROM WINDOWS SYSTEM DIRECTORY
    TARGETDIR = WINSYSDIR;
	DeleteSharedFile (WINSYSDIR, "PGP_sdk.dll");
	DeleteSharedFile (WINSYSDIR, "PGPsdkNL.dll");
	DeleteSharedFile (WINSYSDIR, "PGPsdkUI.dll");
    DeleteSharedFile (WINSYSDIR, "pgpcl.dll");
    DeleteSharedFile (WINSYSDIR, "pgpmn.dll");
    DeleteSharedFile (WINSYSDIR, "pgprd.dll");
    DeleteSharedFile (WINSYSDIR, "pgpsc.dll");
    DeleteSharedFile (WINSYSDIR, "pgpExch.dll");
    DeleteSharedFile (WINSYSDIR, "pgpoe.dll");
    DeleteSharedFile (WINSYSDIR, "pgphk.dll");
    DeleteSharedFile (WINDIR, "PGPMEM~1.vxd");
    DeleteSharedFile (WINDIR, "PGPMEMLOCK.vxd");
    DeleteSharedFile (WINSYSDIR ^ "drivers", "PGPmemlock.sys");

	//Remove Installdir from PATH (PGP cmdline)
	SetEnvVar(0, Installdir);
	
	if (bIsWindowsNT4) then
		GetEnvVar ("USERPROFILE", szUserDir);
        TARGETDIR = szUserDir ^"Application Data\\PGP";
    	DeleteFile ("PGPsdk.dat");
    	DeleteFile ("PGPMacBinaryMappings.txt");
    	DeleteDir(TARGETDIR, ALLCONTENTS);
    	
    	TARGETDIR = WINDIR ^"Profiles\\Default User\\Application Data\\PGP";
    	DeleteFile ("PGPsdk.dat");
    	DeleteFile ("PGPMacBinaryMappings.txt");
		DeleteDir(TARGETDIR, ALLCONTENTS);
	endif;
	
    TARGETDIR = WINDIR;
    DeleteFile ("PGPsdk.dat");
    DeleteFile ("PGPMacBinaryMappings.txt");

    //Outlook Express install location
    szKey = "SOFTWARE\\Network Associates\\PGP\\OE";
    szName = "OutlookExpress";
    RegDBGetKeyValueEx (szKey, szName, nvType, svValue, nvSize);
    OEinstall = svValue;

    //Delete the admin pref file if there is one
    TARGETDIR = WINDIR ^ "Profiles\\All Users\\Application Data\\PGP";
    DeleteFile ("PGPadmin.dat");
    DeleteDir(WINDIR ^ "Profiles\\All Users\\Application Data\\PGP", ALLCONTENTS);
    //Delete install dir. files
    TARGETDIR = Installdir;
    DeleteFile ("keygen.avi");
    DeleteFile ("Pgp.cnt");
   	DeleteFile ("Pgp.exe");
    DeleteFile ("pgp.hlp");
    DeleteFile ("pgp.gid");
    DeleteFile ("PGPadmin.exe");
    DeleteFile ("PGPkeys.exe");
    DeleteFile ("PGPlog.exe");
    DeleteFile ("PGPtools.exe");
    DeleteFile ("PGPtray.exe");
    DeleteFile ("Quickstart.doc");
    DeleteFile ("PGPclient.dat");
    DeleteFile ("Eudora.url");
    DeleteFile ("Adobe.url");
    DeleteFile ("randseed.bin");
    DeleteFile ("randseed.rnd");
    DeleteFile ("*.pdf");
  	DeleteFile ("*.isu");
    DeleteFile ("PGPsda.etm");
    DeleteFile ("PGPsea.etm");
    DeleteFile ("PGPnetsdk.dat");
    DeleteFile ("uninstall.exe");

    TARGETDIR = Installdir ^ "Documentation";
    DeleteFile ("license.txt");
    DeleteFile ("whatsnew.htm");
    DeleteFile ("PGPCmdLineGuide.pdf");
    DeleteFile ("PGPWinUsersGuide.pdf");
    DeleteFile ("whatsnew.txt");
    DeleteFile ("whatsnew.doc");
	DeleteFile ("Y2k_product_insert.txt");

    TARGETDIR = Installdir ^ "Sample Keys";
    DeleteFile ("SampleKeys.asc");
    DeleteFile ("WhatIsThis.txt");

    DeleteDir(Installdir ^ "Documentation", ALLCONTENTS);
	DeleteDir(Installdir ^ "Sample Keys", ONLYDIR);

    //GET THE EUDORA PLUGIN PATH
    RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
    szKey = "SOFTWARE\\Network Associates\\PGP\\EudoraPlugin";
    szName = "PluginPath";

    RegDBGetKeyValueEx (szKey, szName, nvType, svValue, nvSize);

    //DELETE THE EUDORA PLUGIN
    TARGETDIR = svValue;
    DeleteFile ("pgpplugin.dll");

    //HKEY_CLASSES_ROOT
    RegDBSetDefaultRoot(HKEY_CLASSES_ROOT);
    RegDBDeleteKey (".aexpk");
    RegDBDeleteKey (".asc");
    RegDBDeleteKey (".bexpk");
    RegDBDeleteKey (".pgd");
    RegDBDeleteKey (".pgp");
    RegDBDeleteKey (".pkr");
    RegDBDeleteKey (".prvkr");
    RegDBDeleteKey (".aexpk");
    RegDBDeleteKey (".pubkr");
    RegDBDeleteKey (".sig");
    RegDBDeleteKey (".skr");
    RegDBDeleteKey (".shf");
    RegDBDeleteKey (".pgr");
    RegDBDeleteKey (".rnd");
    RegDBDeleteKey ("PGP Groups");
    RegDBDeleteKey ("PGP Groups File");
    RegDBDeleteKey ("PGP Share");
    RegDBDeleteKey ("PGP Random Seed");
    RegDBDeleteKey ("CLSID\\{969223c0-26aa-11d0-90ee-444553540000}");
    RegDBDeleteKey ("PGP Armored File");
    RegDBDeleteKey ("PGP Binary Extracted Public Key");
    RegDBDeleteKey ("PGP Armored Extracted Public Key");
    RegDBDeleteKey ("PGP Detached Signature File");
    RegDBDeleteKey ("PGP Encrypted File");
    RegDBDeleteKey ("PGP Private Keyring");
    RegDBDeleteKey ("PGP Public Keyring");
    RegDBDeleteKey ("PGP Binary Extracted Public Key");
    RegDBDeleteKey ("PGP Share File");

    //HKEY_LOCAL_MACHINE
    RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
    RegDBDeleteKey (".aexpk");
    RegDBDeleteKey (".asc");
    RegDBDeleteKey (".bexpk");
    RegDBDeleteKey (".pgd");
    RegDBDeleteKey (".pgp");
    RegDBDeleteKey (".pkr");
    RegDBDeleteKey (".prvkr");
    RegDBDeleteKey (".aexpk");
    RegDBDeleteKey (".pubkr");
    RegDBDeleteKey (".sig");
    RegDBDeleteKey (".skr");
    RegDBDeleteKey ("CLSID\\{969223c0-26aa-11d0-90ee-444553540000}");
    RegDBDeleteKey ("PGP Armored File");
    RegDBDeleteKey ("PGP Binary Extracted Public Key");
    RegDBDeleteKey ("PGP Armored Extracted Public Key");
    RegDBDeleteKey ("PGP Detached Signature File");
    RegDBDeleteKey ("PGP Encrypted File");
    RegDBDeleteKey ("PGP Private Keyring");
    RegDBDeleteKey ("PGP Public Keyring");
    RegDBDeleteKey ("PGP Binary Extracted Public Key");
    RegDBDeleteKey ("SOFTWARE\\Microsoft\\Exchange\\Client\\Extensions\\PGP Plugin");
    RegDBDeleteKey ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\explorer\\IStatus");
    RegDBDeleteKey ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\PGP");
    RegDBDeleteKey ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\PGP");
    RegDBDeleteKey ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\PGP");
   	RegDBDeleteKey ("SOFTWARE\\Classes\\.pgr");
    RegDBDeleteKey ("SOFTWARE\\Classes\\.rnd");
    RegDBDeleteKey ("SOFTWARE\\Classes\\PGP Groups");
    RegDBDeleteKey ("SOFTWARE\\Classes\\PGP Groups File");
    RegDBDeleteKey ("SOFTWARE\\Classes\\PGP Share");
    RegDBDeleteKey ("SOFTWARE\\Classes\\Randseed File");
    RegDBDeleteKey ("SOFTWARE\\Classes\\Ranseed File");
    RegDBDeleteValue ("SOFTWARE\\Microsoft\\Exchange\\Client\\Extensions", "PGP Plugin");
    RegDBDeleteKey ("SYSTEM\\ControlSet001\\Services\\PGPmemlock");
 	RegDBDeleteKey ("SYSTEM\\ControlSet002\\Services\\PGPmemlock");

    //HKEY_USERS
    RegDBSetDefaultRoot(HKEY_USERS);
    RegDBDeleteKey ("S-1-5-21-1998468922-181747292-2076119496-1000\\Software\\PGP");

    ProgDefGroupType(COMMON);
    DeleteProgramFolder ("P G P");
    DeleteProgramFolder ("P g p");
    DeleteFolderIcon(FOLDER_STARTUP,"PGPtray");
	DeleteFolderIcon(FOLDER_STARTUP,"PGPnet Tray Startup");
	
	//Outlook Express Uninstall
    RegDBSetDefaultRoot (HKEY_LOCAL_MACHINE);
    RegDBDeleteKey ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\PGPOEPlugin");

	UninstallPGPdisk(Installdir);
	
	RegDBSetDefaultRoot (HKEY_LOCAL_MACHINE);
	if (RegDBKeyExist ("SOFTWARE\\Network Associates\\PGP\\PGPnet") >= 0) then
		UninstallPGPnet(Installdir);
	endif;
	
    VarRestore (SRCTARGETDIR);

    //HKEY_LOCAL_MACHINE
    RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
    RegDBDeleteKey ("Software\\Network Associates\\PGP");
    RegDBDeleteKey ("SOFTWARE\\Network Associates\\PGP");
    RegDBDeleteKey ("SOFTWARE\\Network Associates\\PGP");
end;

///////////////////////////////////////////////////////////////////////////////
//
// Function: UninstallPGPdisk
//
//  Purpose: Uninstalls PGPDisk
//
//
///////////////////////////////////////////////////////////////////////////////
function UninstallPGPdisk(InstallDirectory)

begin
	VarSave (SRCTARGETDIR);
	
	UseDLL (SUPPORTDIR ^ "PGPdskIH.dll");

    UnmountAllPGPdisks();
	KillPGPdiskResident();
	PGPdiskCleanup();
	
	TARGETDIR = InstallDirectory;
	DeleteFile ("pgpdiskresident.exe");
	DeleteFile ("pgpdisk.exe");
	DeleteFile ("pgpdisk.hlp");
	DeleteFile ("pgpdisk.cnt");
	DeleteFile ("pgpdisk.pdf");
	DeleteFile ("readme.txt");
	DeleteFile ("license.txt");
    TARGETDIR = WINSYSDIR;
    DeleteFile("PGPdskse.dll");

	//Deleting registry Entries.
	RegDBSetDefaultRoot (HKEY_LOCAL_MACHINE);
	RegDBDeleteKey ("Enum\\Root\\PGPdisk");
	RegDBDeleteKey ("System\\CurrentControlSet\\Services\\Class\\PGPdisk");
	
	//Deleting PGPdisk registry Entries.
	RegDBSetDefaultRoot (HKEY_CLASSES_ROOT);
	RegDBDeleteKey (".pgd");
	RegDBDeleteKey ("PGPdisk Volume File");
	RegDBDeleteKey ("CLSID\\{f8b14440-3785-11d1-b363-5c6f08c10000}");
	RegDBDeleteKey ("PGPdisk Volume File\\shellex\\ContextMenuHandlers\\PGPdisk Shell Extension");
	RegDBDeleteKey ("Drive\\shellex\\ContextMenuHandlers\\PGPdisk Shell Extension");
	RegDBDeleteValue ("Drive\\shellex\\ContextMenuHandlers", "");
	RegDBDeleteKey ("PGPdisk Volume");
	RegDBSetDefaultRoot (HKEY_LOCAL_MACHINE);
	RegDBDeleteKey ("Enum\\Root\\PGPdisk");
	RegDBDeleteKey ("System\\CurrentControlSet\\Services\\Class\\PGPdisk");	
	RegDBDeleteValue ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved",
					  "{f8b14440-3785-11d1-b363-5c6f08c10000}" );
	RegDBDeleteKey ("Enum\\ESDI\\PGP_____PGPDISK_________0");
	RegDBDeleteKey ("SOFTWARE\\Network Associates\\PGPdisk");
	RegDBDeleteKey ("SOFTWARE\\Network Associates\\PGPdiskAlpha");
	RegDBDeleteKey ("SOFTWARE\\Network Associates\\PGPdisk Beta");
	RegDBDeleteKey ("SOFTWARE\\Network Associates\\PGPdiskBeta");
	RegDBDeleteKey ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\PGPdiskDeinstKey");
	RegDBDeleteKey ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\PGPdisk.exe");
	RegDBDeleteKey ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\PGPdiskResident.exe");
	RegDBDeleteKey ("SOFTWARE\\Classes\\PGPdisk Volume");
	RegDBSetDefaultRoot (HKEY_CURRENT_USER);
	RegDBDeleteKey ("Software\\Network Associates\\PGPdisk");
	RegDBDeleteKey ("Software\\Network Associates\\PGPdiskAlpha");

⌨️ 快捷键说明

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