aboutsummaryrefslogtreecommitdiff
path: root/src/samples/Dtf/Documents/Reference/helplink.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/samples/Dtf/Documents/Reference/helplink.js')
-rw-r--r--src/samples/Dtf/Documents/Reference/helplink.js184
1 files changed, 184 insertions, 0 deletions
diff --git a/src/samples/Dtf/Documents/Reference/helplink.js b/src/samples/Dtf/Documents/Reference/helplink.js
new file mode 100644
index 00000000..a4989824
--- /dev/null
+++ b/src/samples/Dtf/Documents/Reference/helplink.js
@@ -0,0 +1,184 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3FixHelpLinks();
4
5function GetHelpCode(apiName)
6{
7 switch (apiName.toLowerCase())
8 {
9 case "msiadvertiseproduct": return 370056;
10 case "msiadvertiseproductex": return 370057;
11 case "msiapplymultiplepatches": return 370059;
12 case "msiapplypatch": return 370060;
13 case "msibegintransaction": return 736312;
14 case "msiclosehandle": return 370067;
15 case "msicollectuserinfo": return 370068;
16 case "msiconfigurefeature": return 370069;
17 case "msiconfigureproduct": return 370070;
18 case "msiconfigureproductex": return 370071;
19 case "msicreaterecord": return 370072;
20 case "msicreatetransformsummaryinfo": return 370073;
21 case "msidatabaseapplytransform": return 370074;
22 case "msidatabasecommit": return 370075;
23 case "msidatabaseexport": return 370076;
24 case "msidatabasegeneratetransform": return 370077;
25 case "msidatabasegetprimarykeys": return 370078;
26 case "msidatabaseimport": return 370079;
27 case "msidatabaseistablepersistent": return 370080;
28 case "msidatabasemerge": return 370081;
29 case "msidatabaseopenview": return 370082;
30 case "msidetermineapplicablepatches": return 370084;
31 case "msideterminepatchsequence": return 370085;
32 case "msidoaction": return 370090;
33 case "msienablelog": return 370091;
34 case "msiendtransaction": return 736318;
35 case "msienumclients": return 370094;
36 case "msienumcomponentcosts": return 370095;
37 case "msienumcomponentqualifiers": return 370096;
38 case "msienumcomponents": return 370097;
39 case "msienumfeatures": return 370098;
40 case "msienumpatches": return 370099;
41 case "msienumpatchesex": return 370100;
42 case "msienumproducts": return 370101;
43 case "msienumproductsex": return 370102;
44 case "msienumrelatedproducts": return 370103;
45 case "msievaluatecondition": return 370104;
46 case "msiextractpatchxmldata": return 370105;
47 case "msiformatrecord": return 370109;
48 case "msigetactivedatabase": return 370110;
49 case "msigetcomponentpath": return 370112;
50 case "msigetcomponentstate": return 370113;
51 case "msigetdatabasestate": return 370114;
52 case "msigetfeaturecost": return 370115;
53 case "msigetfeatureinfo": return 370116;
54 case "msigetfeaturestate": return 370117;
55 case "msigetfeatureusage": return 370118;
56 case "msigetfeaturevalidstates": return 370119;
57 case "msigetfilehash": return 370120;
58 case "msigetfileversion": return 370122;
59 case "msigetlanguage": return 370123;
60 case "msigetlasterrorrecord": return 370124;
61 case "msigetmode": return 370125;
62 case "msigetpatchfilelist": return 370126;
63 case "msigetpatchinfo": return 370127;
64 case "msigetpatchinfoex": return 370128;
65 case "msigetproductcode": return 370129;
66 case "msigetproductinfo": return 370130;
67 case "msigetproductinfoex": return 370131;
68 case "msigetproductinfofromscript": return 370132;
69 case "msigetproductproperty": return 370133;
70 case "msigetproperty": return 370134;
71 case "msigetshortcuttarget": return 370299;
72 case "msigetsourcepath": return 370300;
73 case "msigetsummaryinformation": return 370301;
74 case "msigettargetpath": return 370303;
75 case "msiinstallmissingcomponent": return 370311;
76 case "msiinstallmissingfile": return 370313;
77 case "msiinstallproduct": return 370315;
78 case "msijointransaction": return 736319;
79 case "msilocatecomponent": return 370320;
80 case "msinotifysidchange": return 370328;
81 case "msiopendatabase": return 370338;
82 case "msiopenpackage": return 370339;
83 case "msiopenpackageex": return 370340;
84 case "msiopenproduct": return 370341;
85 case "msiprocessadvertisescript": return 370353;
86 case "msiprocessmessage": return 370354;
87 case "msiprovideassembly": return 370355;
88 case "msiprovidecomponent": return 370356;
89 case "msiprovidequalifiedcomponent": return 370357;
90 case "msiprovidequalifiedcomponentex":return 370358;
91 case "msiquerycomponnetstate": return 370360;
92 case "msiqueryfeaturestate": return 370361;
93 case "msiqueryfeaturestateex": return 370362;
94 case "msiqueryproductstate": return 370363;
95 case "msirecordcleardata": return 370364;
96 case "msirecorddatasize": return 370365;
97 case "msirecordgetfieldcount": return 370366;
98 case "msirecordgetinteger": return 370367;
99 case "msirecordgetstring": return 370368;
100 case "msirecordisnull": return 370369;
101 case "msirecordreadstream": return 370370;
102 case "msirecordsetinteger": return 370371;
103 case "msirecordsetstream": return 370372;
104 case "msirecordsetstring": return 370373;
105 case "msireinstallfeature": return 370374;
106 case "msireinstallproduct": return 370375;
107 case "msiremovepatches": return 370376;
108 case "msisequence": return 370382;
109 case "msisetcomponentstate": return 370383;
110 case "msisetexternalui": return 370384;
111 case "msisetexternaluirecord": return 370385;
112 case "msisetfeatureattributes": return 370386;
113 case "msisetfeaturestate": return 370387;
114 case "msisetinstalllevel": return 370388;
115 case "msisetinternalui": return 370389;
116 case "msisetmode": return 370390;
117 case "msisetproperty": return 370391;
118 case "msisettargetpath": return 370392;
119 case "msisourcelistaddmediadisk": return 370394;
120 case "msisourcelistaddsource": return 370395;
121 case "msisourcelistaddsourceex": return 370396;
122 case "msisourcelistclearall": return 370397;
123 case "msisourcelistclearallex": return 370398;
124 case "msisourcelistclearmediadisk": return 370399;
125 case "msisourcelistclearsource": return 370401;
126 case "msisourcelistenummediadisks": return 370402;
127 case "msisourcelistenumsources": return 370403;
128 case "msisourcelistforceresolution": return 370404;
129 case "msisourcelistforceresolutionex":return 370405;
130 case "msisourcelistgetinfo": return 370406;
131 case "msisourcelistsetinfo": return 370407;
132 case "msisummaryinfogetproperty": return 370409;
133 case "msisummaryinfopersist": return 370490;
134 case "msisummaryinfosetproperty": return 370491;
135 case "msiusefeature": return 370502;
136 case "msiusefeatureex": return 370503;
137 case "msiverifydiskspace": return 370506;
138 case "msiverifypackage": return 370508;
139 case "msiviewexecute": return 370513;
140 case "msiviewfetch": return 370514;
141 case "msiviewgetcolumninfo": return 370516;
142 case "msiviewgeterror": return 370518;
143 case "msiviewmodify": return 370519;
144 case "productid": return 370855;
145 default:
146 return 0;
147 }
148}
149
150function GetHelpLink(apiName)
151{
152 var helpCode = GetHelpCode(apiName);
153 if (helpCode != 0)
154 {
155 // Found a direct link!
156 var prefix = (helpCode < 500000 ? "aa" : "bb");
157 return "http://msdn2.microsoft.com/en-us/library/" + prefix + helpCode + ".aspx";
158 }
159 else
160 {
161 // This link works, but goes through an annoying 5-sec redirect page.
162 return "http://msdn.microsoft.com/library/en-us/msi/setup/" + apiName.toLowerCase() + ".asp";
163 }
164}
165
166// Change any MSI API help links from indirect MSDN references to direct references.
167function FixHelpLinks()
168{
169 var msiLinkRegex = /msdn\.microsoft\.com\/library\/en-us\/msi\/setup\/([a-z]+)\.asp/i;
170 var links = document.body.all.tags("a");
171 var i;
172 for (i = 0; i < links.length; i++)
173 {
174 var linkElem = links(i);
175 var match = msiLinkRegex.exec(linkElem.href);
176 if (match)
177 {
178 var apiName = match[1];
179 linkElem.href = GetHelpLink(apiName);
180 linkElem.target = "_blank";
181 linkElem.title = "MSDN Library";
182 }
183 }
184}