-
Notifications
You must be signed in to change notification settings - Fork 1
/
RegistryScript.rgs
129 lines (118 loc) · 3.36 KB
/
RegistryScript.rgs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/*
* RegistryScript.rgs: Used for generating the registry script for client-side ATL use.
*
* This is used by ATL in order to perform registry operations when regsvr32 is called.
*
* This file is sent through the C preprocessor (by prebuild.cmd) for easier editing; the
* standard way to write a file like this does not support constants or comments, because
* these features are not supported during runtime.
*/
#define PROG_ID ephemeralViolette.ClassicExplorer
// ## means concatenation, so the following part will be added to the end.
#define PROG_ID_WITH_VERSION PROG_ID##.1
#define CLSID_AddressBarHostBand {FC5A7312-CFFE-4BF1-83E8-22D44C040568}
#define CLSID_ThrobberBand {9F7E1105-EB11-4A41-857A-F7E1494D3818}
#define CLSID_BrowserHelperObject {844CFA4E-7D74-4C80-B134-D214C9699F98}
#define TYPELIB_ClassicExplorer {205F9779-62D5-4E06-8DAD-8E150FFA38DB}
HKCR
{
// ------------------------------------------------------------------------------------------
// Program ID registration
//
PROG_ID_WITH_VERSION = s 'Classic Explorer v1 Class'
{
CLSID = s CLSID_AddressBarHostBand
}
PROG_ID = s 'Classic Explorer Class'
{
CLSID = s CLSID_AddressBarHostBand
CurVer = s PROG_ID_WITH_VERSION
}
// ------------------------------------------------------------------------------------------
// Global Class ID registration:
//
NoRemove CLSID
{
ForceRemove CLSID_AddressBarHostBand = s 'Classic Address Bar'
{
ProgID = s PROG_ID_WITH_VERSION
VersionIndependentProgID = s PROG_ID
ForceRemove 'Programmable'
InprocServer32 = s '%MODULE%' // %MODULE% is a constant for the ATL parser (runtime).
{
val ThreadingModel = s 'Apartment'
}
'TypeLib' = s TYPELIB_ClassicExplorer
}
ForceRemove CLSID_ThrobberBand = s 'Throbber'
{
ProgID = s PROG_ID_WITH_VERSION
VersionIndependentProgID = s PROG_ID
ForceRemove 'Programmable'
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Apartment'
}
'TypeLib' = s TYPELIB_ClassicExplorer
}
ForceRemove CLSID_BrowserHelperObject = s 'ClassicExplorer BHO'
{
ProgID = s PROG_ID_WITH_VERSION
VersionIndependentProgID = s PROG_ID
ForceRemove 'Programmable'
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Apartment'
}
'TypeLib' = s TYPELIB_ClassicExplorer
}
}
}
HKLM
{
NoRemove Software
{
NoRemove Microsoft
{
NoRemove 'Internet Explorer'
{
// ------------------------------------------------------------------------------
// Shell toolbar registration:
//
NoRemove Toolbar
{
ForceRemove val CLSID_AddressBarHostBand = b ''
ForceRemove val CLSID_ThrobberBand = b ''
}
}
NoRemove Windows
{
NoRemove CurrentVersion
{
NoRemove Policies
{
NoRemove Ext
{
NoRemove CLSID
{
// Toolbar policies
ForceRemove val CLSID_AddressBarHostBand = s '2'
ForceRemove val CLSID_ThrobberBand = s '2'
}
}
}
NoRemove Explorer
{
// ----------------------------------------------------------------------
// Browser Helper Object registration:
//
NoRemove 'Browser Helper Objects'
{
ForceRemove CLSID_BrowserHelperObject
}
}
}
}
}
}
}