📄 setup.rul
字号:
// $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 + -