aboutsummaryrefslogtreecommitdiff
path: root/src/tools/Dtf/Documents/Reference/helplink.js
blob: a4989824ebc7689b080f2c508b3fbb2cbebf35e0 (plain)
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
// 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.

FixHelpLinks();

function GetHelpCode(apiName)
{
    switch (apiName.toLowerCase())
    {
        case "msiadvertiseproduct":           return 370056;
        case "msiadvertiseproductex":         return 370057;
        case "msiapplymultiplepatches":       return 370059;
        case "msiapplypatch":                 return 370060;
        case "msibegintransaction":           return 736312;
        case "msiclosehandle":                return 370067;
        case "msicollectuserinfo":            return 370068;
        case "msiconfigurefeature":           return 370069;
        case "msiconfigureproduct":           return 370070;
        case "msiconfigureproductex":         return 370071;
        case "msicreaterecord":               return 370072;
        case "msicreatetransformsummaryinfo": return 370073;
        case "msidatabaseapplytransform":     return 370074;
        case "msidatabasecommit":             return 370075;
        case "msidatabaseexport":             return 370076;
        case "msidatabasegeneratetransform":  return 370077;
        case "msidatabasegetprimarykeys":     return 370078;
        case "msidatabaseimport":             return 370079;
        case "msidatabaseistablepersistent":  return 370080;
        case "msidatabasemerge":              return 370081;
        case "msidatabaseopenview":           return 370082;
        case "msidetermineapplicablepatches": return 370084;
        case "msideterminepatchsequence":     return 370085;
        case "msidoaction":                   return 370090;
        case "msienablelog":                  return 370091;
        case "msiendtransaction":             return 736318;
        case "msienumclients":                return 370094;
        case "msienumcomponentcosts":         return 370095;
        case "msienumcomponentqualifiers":    return 370096;
        case "msienumcomponents":             return 370097;
        case "msienumfeatures":               return 370098;
        case "msienumpatches":                return 370099;
        case "msienumpatchesex":              return 370100;
        case "msienumproducts":               return 370101;
        case "msienumproductsex":             return 370102;
        case "msienumrelatedproducts":        return 370103;
        case "msievaluatecondition":          return 370104;
        case "msiextractpatchxmldata":        return 370105;
        case "msiformatrecord":               return 370109;
        case "msigetactivedatabase":          return 370110;
        case "msigetcomponentpath":           return 370112;
        case "msigetcomponentstate":          return 370113;
        case "msigetdatabasestate":           return 370114;
        case "msigetfeaturecost":             return 370115;
        case "msigetfeatureinfo":             return 370116;
        case "msigetfeaturestate":            return 370117;
        case "msigetfeatureusage":            return 370118;
        case "msigetfeaturevalidstates":      return 370119;
        case "msigetfilehash":                return 370120;
        case "msigetfileversion":             return 370122;
        case "msigetlanguage":                return 370123;
        case "msigetlasterrorrecord":         return 370124;
        case "msigetmode":                    return 370125;
        case "msigetpatchfilelist":           return 370126;
        case "msigetpatchinfo":               return 370127;
        case "msigetpatchinfoex":             return 370128;
        case "msigetproductcode":             return 370129;
        case "msigetproductinfo":             return 370130;
        case "msigetproductinfoex":           return 370131;
        case "msigetproductinfofromscript":   return 370132;
        case "msigetproductproperty":         return 370133;
        case "msigetproperty":                return 370134;
        case "msigetshortcuttarget":          return 370299;
        case "msigetsourcepath":              return 370300;
        case "msigetsummaryinformation":      return 370301;
        case "msigettargetpath":              return 370303;
        case "msiinstallmissingcomponent":    return 370311;
        case "msiinstallmissingfile":         return 370313;
        case "msiinstallproduct":             return 370315;
        case "msijointransaction":            return 736319;
        case "msilocatecomponent":            return 370320;
        case "msinotifysidchange":            return 370328;
        case "msiopendatabase":               return 370338;
        case "msiopenpackage":                return 370339;
        case "msiopenpackageex":              return 370340;
        case "msiopenproduct":                return 370341;
        case "msiprocessadvertisescript":     return 370353;
        case "msiprocessmessage":             return 370354;
        case "msiprovideassembly":            return 370355;
        case "msiprovidecomponent":           return 370356;
        case "msiprovidequalifiedcomponent":  return 370357;
        case "msiprovidequalifiedcomponentex":return 370358;
        case "msiquerycomponnetstate":        return 370360;
        case "msiqueryfeaturestate":          return 370361;
        case "msiqueryfeaturestateex":        return 370362;
        case "msiqueryproductstate":          return 370363;
        case "msirecordcleardata":            return 370364;
        case "msirecorddatasize":             return 370365;
        case "msirecordgetfieldcount":        return 370366;
        case "msirecordgetinteger":           return 370367;
        case "msirecordgetstring":            return 370368;
        case "msirecordisnull":               return 370369;
        case "msirecordreadstream":           return 370370;
        case "msirecordsetinteger":           return 370371;
        case "msirecordsetstream":            return 370372;
        case "msirecordsetstring":            return 370373;
        case "msireinstallfeature":           return 370374;
        case "msireinstallproduct":           return 370375;
        case "msiremovepatches":              return 370376;
        case "msisequence":                   return 370382;
        case "msisetcomponentstate":          return 370383;
        case "msisetexternalui":              return 370384;
        case "msisetexternaluirecord":        return 370385;
        case "msisetfeatureattributes":       return 370386;
        case "msisetfeaturestate":            return 370387;
        case "msisetinstalllevel":            return 370388;
        case "msisetinternalui":              return 370389;
        case "msisetmode":                    return 370390;
        case "msisetproperty":                return 370391;
        case "msisettargetpath":              return 370392;
        case "msisourcelistaddmediadisk":     return 370394;
        case "msisourcelistaddsource":        return 370395;
        case "msisourcelistaddsourceex":      return 370396;
        case "msisourcelistclearall":         return 370397;
        case "msisourcelistclearallex":       return 370398;
        case "msisourcelistclearmediadisk":   return 370399;
        case "msisourcelistclearsource":      return 370401;
        case "msisourcelistenummediadisks":   return 370402;
        case "msisourcelistenumsources":      return 370403;
        case "msisourcelistforceresolution":  return 370404;
        case "msisourcelistforceresolutionex":return 370405;
        case "msisourcelistgetinfo":          return 370406;
        case "msisourcelistsetinfo":          return 370407;
        case "msisummaryinfogetproperty":     return 370409;
        case "msisummaryinfopersist":         return 370490;
        case "msisummaryinfosetproperty":     return 370491;
        case "msiusefeature":                 return 370502;
        case "msiusefeatureex":               return 370503;
        case "msiverifydiskspace":            return 370506;
        case "msiverifypackage":              return 370508;
        case "msiviewexecute":                return 370513;
        case "msiviewfetch":                  return 370514;
        case "msiviewgetcolumninfo":          return 370516;
        case "msiviewgeterror":               return 370518;
        case "msiviewmodify":                 return 370519;
        case "productid":                     return 370855;
        default:
            return 0;
    }
}

function GetHelpLink(apiName)
{
    var helpCode = GetHelpCode(apiName);
    if (helpCode != 0)
    {
        // Found a direct link!
        var prefix = (helpCode < 500000 ? "aa" : "bb");
        return "http://msdn2.microsoft.com/en-us/library/" + prefix + helpCode + ".aspx";
    }
    else
    {
        // This link works, but goes through an annoying 5-sec redirect page.
        return "http://msdn.microsoft.com/library/en-us/msi/setup/" + apiName.toLowerCase() + ".asp";
    }
}

// Change any MSI API help links from indirect MSDN references to direct references.
function FixHelpLinks()
{
    var msiLinkRegex = /msdn\.microsoft\.com\/library\/en-us\/msi\/setup\/([a-z]+)\.asp/i;
    var links = document.body.all.tags("a");
    var i;
    for (i = 0; i < links.length; i++)
    {
        var linkElem = links(i);
        var match = msiLinkRegex.exec(linkElem.href);
        if (match)
        {
            var apiName = match[1];
            linkElem.href = GetHelpLink(apiName);
            linkElem.target = "_blank";
            linkElem.title = "MSDN Library";
        }
    }
}