Update little document
[TortoiseGit.git] / doc / source / en / TortoiseGit / tsvn_app_admins.xml
blobee2f5244cb00b2a2582a86178c64f77d65cf5025
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!DOCTYPE appendix SYSTEM "../../dtd/dblite.dtd">\r
3 <appendix id="tsvn-admins" xmlns:xi="http://www.w3.org/2001/XInclude">\r
4         <title>Useful Tips For Administrators</title>\r
5         <simplesect>\r
6                 <para>\r
7                         This appendix contains solutions to problems/questions you might\r
8                         have when you are responsible for deploying TortoiseGit to multiple\r
9                         client computers.\r
10                 </para>\r
11         </simplesect>\r
12         <sect1 id="tsvn-admins-grouppolicies">\r
13                 <title>Deploy TortoiseGit via group policies</title>\r
14                 <indexterm>\r
15                         <primary>group policies</primary>\r
16                 </indexterm>\r
17                 <indexterm>\r
18                         <primary>GPO</primary>\r
19                 </indexterm>\r
20                 <indexterm>\r
21                         <primary>msi</primary>\r
22                 </indexterm>\r
23                 <indexterm>\r
24                         <primary>domain controller</primary>\r
25                 </indexterm>\r
26                 <indexterm>\r
27                         <primary>deploy</primary>\r
28                 </indexterm>\r
29                 <para>\r
30                         The TortoiseGit installer comes as an MSI file, which means you\r
31                         should have no problems adding that MSI file to the group policies\r
32                         of your domain controller.\r
33                 </para>\r
34                 <para>\r
35                         A good walk-through on how to do that can be found in the knowledge\r
36                         base article 314934 from Microsoft:\r
37                         <ulink url="http://support.microsoft.com/?kbid=314934">\r
38                                 <citetitle>http://support.microsoft.com/?kbid=314934</citetitle>\r
39                         </ulink>.\r
40                 </para>\r
41                 <para>\r
42                         Versions 0.3.0 and later of TortoiseGit must be installed under\r
43                         <emphasis>Computer Configuration</emphasis> and not under\r
44                         <emphasis>User Configuration</emphasis>. This is because those versions\r
45                         need the new CRT and MFC DLLs, which can only be deployed <emphasis>per\r
46                         computer</emphasis> and not <emphasis>per user</emphasis>.\r
47                         If you really must install TortoiseGit on a per user basis, then you must\r
48                         first install the MFC and CRT package version 8 from Microsoft on each\r
49                         computer you want to install TortoiseGit as per user.\r
50                 </para>\r
51         </sect1>\r
52         <sect1 id="tsvn-admins-upgradecheck">\r
53                 <title>Redirect the upgrade check</title>\r
54                 <indexterm>\r
55                         <primary>upgrade check</primary>\r
56                 </indexterm>\r
57                 <indexterm>\r
58                         <primary>check new version</primary>\r
59                 </indexterm>\r
60                 <indexterm>\r
61                         <primary>version</primary>\r
62                 </indexterm>\r
63                 <para>\r
64                         TortoiseGit checks if there's a new version available every few days.\r
65                         If there is a newer version available, a dialog shows up informing\r
66                         the user about that.\r
67                 </para>\r
68                 <figure id="tsvn-admins-dia1">\r
69                         <title>The upgrade dialog</title>\r
70                         <graphic fileref="images/upgradecheck.png"/>\r
71                 </figure>\r
72                 <para>\r
73                         If you're responsible for a lot of users in your domain, you might want\r
74                         your users to use only versions you have approved and not have them install\r
75                         always the latest version. You probably don't want that upgrade dialog\r
76                         to show up so your users don't go and upgrade immediately.\r
77                 </para>\r
78                 <para>\r
79                         Versions 0.x.0 and later of TortoiseGit allow you to redirect that upgrade\r
80                         check to your intranet server. You can set the registry key\r
81                         <filename>HKCU\Software\TortoiseGit\UpdateCheckURL</filename> (string value)\r
82                         to an URL pointing to a text file in your intranet. That text file must have\r
83                         the following format:\r
84 <screen>\r
85 X.X.X.6000\r
86 A new version of TortoiseGit is available for you to download!\r
87 http://192.168.2.1/downloads/TortoiseGit-1.4.1.6000-svn-1.4.0.msi\r
88 </screen>\r
89                         The first line in that file is the version string. You must make sure that\r
90                         it matches the exact version string of the TortoiseGit installation package.\r
91                         The second line is a custom text, shown in the upgrade dialog. You can write\r
92                         there whatever you want. Just note that the space in the upgrade dialog is\r
93                         limited. Too long messages will get truncated!\r
94                         The third line is the URL to the new installation package. This URL is opened\r
95                         when the user clicks on the custom message label in the upgrade dialog.\r
96                         You can also just point the user to a web page instead of the MSI file directly.\r
97                         The URL is opened with the default web browser, so if you specify a web page,\r
98                         that page is opened and shown to the user. If you specify the MSI package,\r
99                         the browser will ask the user to save the MSI file locally.\r
100                 </para>\r
101         </sect1>\r
102 <!--\r
103         <sect1 id="tsvn-admins-aspdotnethack">\r
104                 <title>Setting the <literal>SVN_ASP_DOT_NET_HACK</literal> environment variable</title>\r
105                 <indexterm>\r
106                         <primary>SVN_ASP_DOT_NET_HACK</primary>\r
107                 </indexterm>\r
108                 <indexterm>\r
109                         <primary>VS2003</primary>\r
110                 </indexterm>\r
111                 <indexterm>\r
112                         <primary>ASP projects</primary>\r
113                 </indexterm>\r
114                 <para>\r
115                         As of version 1.4.0 and later, the TortoiseGit installer doesn't provide\r
116                         the user with the option to set the <literal>SVN_ASP_DOT_NET_HACK</literal>\r
117                         environment variable\r
118                         anymore, since that caused many problems and confusions with users which\r
119                         always install <emphasis>everything</emphasis> no matter if they know\r
120                         what it is for.\r
121                 </para>\r
122                 <para>\r
123                         But that option is only hidden for the user. You still can force the\r
124                         TortoiseGit installer to set that environment variable by setting the\r
125                         <literal>ASPDOTNETHACK</literal>\r
126                         property to TRUE. For example, you can start the installer like this:\r
127 <screen>\r
128 msiexec /i TortoiseGit-1.4.0.msi ASPDOTNETHACK=TRUE\r
129 </screen>\r
130                 </para>\r
131         </sect1>\r
132 -->\r
133         <sect1 id="tsvn-admins-disablemenus">\r
134                 <title>Disable context menu entries</title>\r
135                 <indexterm>\r
136                         <primary>context menu entries</primary>\r
137                 </indexterm>\r
138                 <indexterm>\r
139                         <primary>disable functions</primary>\r
140                 </indexterm>\r
141                 <indexterm>\r
142                         <primary>group policies</primary>\r
143                 </indexterm>\r
144                 <para>\r
145                         As of version 0.x.0 and later, TortoiseGit allows you to disable (actually, hide)\r
146                         context menu entries. Since this is a feature which should not be used lightly\r
147                         but only if there is a compelling reason, there is no GUI for this and it has\r
148                         to be done directly in the registry.\r
149                         This can be used to disable certain commands for users who should not use them.\r
150                         But please note that only the context menu entries in the <emphasis>explorer</emphasis>\r
151                         are hidden, and the commands are still available through other means, e.g. the\r
152                         command line or even other dialogs in TortoiseGit itself!\r
153                 </para>\r
154                 <para>\r
155                         The registry keys which hold the information on which context menus to show are\r
156                         <filename>HKEY_CURRENT_USER\Software\TortoiseGit\ContextMenuEntriesMaskLow</filename>\r
157                         and <filename>HKEY_CURRENT_USER\Software\TortoiseGit\ContextMenuEntriesMaskHigh</filename>.\r
158                 </para>\r
159                 <para>\r
160                         Each of these registry entries is a <literal>DWORD</literal> value, with each\r
161                         bit corresponding to a specific menu entry. A set bit means the corresponding\r
162                         menu entry is deactivated.\r
163                 </para>\r
164                 <para>\r
165                         <table id="tsvn-admins-disablemenus-1-table">\r
166                                 <title>Menu entries and their values</title>\r
167                                 <tgroup cols="2">\r
168                                         <colspec colnum="1" colwidth="2*"/>\r
169                                         <colspec colnum="2" colwidth="6*"/>\r
170                                         <thead>\r
171                                                 <row>\r
172                                                         <entry>Value</entry>\r
173                                                         <entry>Menu entry</entry>\r
174                                                 </row>\r
175                                         </thead>\r
176                                         <tbody>\r
177                                                 <row>\r
178                                                         <entry condition="pot">0x0000000000000001</entry>\r
179                                                         <entry>Checkout</entry>\r
180                                                 </row>\r
181                                                 <row>\r
182                                                         <entry condition="pot">0x0000000000000002</entry>\r
183                                                         <entry>Update</entry>\r
184                                                 </row>\r
185                                                 <row>\r
186                                                         <entry condition="pot">0x0000000000000004</entry>\r
187                                                         <entry>Commit</entry>\r
188                                                 </row>\r
189                                                 <row>\r
190                                                         <entry condition="pot">0x0000000000000008</entry>\r
191                                                         <entry>Add</entry>\r
192                                                 </row>\r
193                                                 <row>\r
194                                                         <entry condition="pot">0x0000000000000010</entry>\r
195                                                         <entry>Revert</entry>\r
196                                                 </row>\r
197                                                 <row>\r
198                                                         <entry condition="pot">0x0000000000000020</entry>\r
199                                                         <entry>Cleanup</entry>\r
200                                                 </row>\r
201                                                 <row>\r
202                                                         <entry condition="pot">0x0000000000000040</entry>\r
203                                                         <entry>Resolve</entry>\r
204                                                 </row>\r
205                                                 <row>\r
206                                                         <entry condition="pot">0x0000000000000080</entry>\r
207                                                         <entry>Switch</entry>\r
208                                                 </row>\r
209                                                 <row>\r
210                                                         <entry condition="pot">0x0000000000000100</entry>\r
211                                                         <entry>Import</entry>\r
212                                                 </row>\r
213                                                 <row>\r
214                                                         <entry condition="pot">0x0000000000000200</entry>\r
215                                                         <entry>Export</entry>\r
216                                                 </row>\r
217                                                 <row>\r
218                                                         <entry condition="pot">0x0000000000000400</entry>\r
219                                                         <entry>Create Repository here</entry>\r
220                                                 </row>\r
221                                                 <row>\r
222                                                         <entry condition="pot">0x0000000000000800</entry>\r
223                                                         <entry>Branch/Tag</entry>\r
224                                                 </row>\r
225                                                 <row>\r
226                                                         <entry condition="pot">0x0000000000001000</entry>\r
227                                                         <entry>Merge</entry>\r
228                                                 </row>\r
229                                                 <row>\r
230                                                         <entry condition="pot">0x0000000000002000</entry>\r
231                                                         <entry>Delete</entry>\r
232                                                 </row>\r
233                                                 <row>\r
234                                                         <entry condition="pot">0x0000000000004000</entry>\r
235                                                         <entry>Rename</entry>\r
236                                                 </row>\r
237                                                 <row>\r
238                                                         <entry condition="pot">0x0000000000008000</entry>\r
239                                                         <entry>Update to revision</entry>\r
240                                                 </row>\r
241                                                 <row>\r
242                                                         <entry condition="pot">0x0000000000010000</entry>\r
243                                                         <entry>Diff</entry>\r
244                                                 </row>\r
245                                                 <row>\r
246                                                         <entry condition="pot">0x0000000000020000</entry>\r
247                                                         <entry>Show Log</entry>\r
248                                                 </row>\r
249                                                 <row>\r
250                                                         <entry condition="pot">0x0000000000040000</entry>\r
251                                                         <entry>Edit Conflicts</entry>\r
252                                                 </row>\r
253                                                 <row>\r
254                                                         <entry condition="pot">0x0000000000080000</entry>\r
255                                                         <entry>Relocate</entry>\r
256                                                 </row>\r
257                                                 <row>\r
258                                                         <entry condition="pot">0x0000000000100000</entry>\r
259                                                         <entry>Check for modifications</entry>\r
260                                                 </row>\r
261                                                 <row>\r
262                                                         <entry condition="pot">0x0000000000200000</entry>\r
263                                                         <entry>Ignore</entry>\r
264                                                 </row>\r
265                                                 <row>\r
266                                                         <entry condition="pot">0x0000000000400000</entry>\r
267                                                         <entry>Repository Browser</entry>\r
268                                                 </row>\r
269                                                 <row>\r
270                                                         <entry condition="pot">0x0000000000800000</entry>\r
271                                                         <entry>Blame</entry>\r
272                                                 </row>\r
273                                                 <row>\r
274                                                         <entry condition="pot">0x0000000001000000</entry>\r
275                                                         <entry>Create Patch</entry>\r
276                                                 </row>\r
277                                                 <row>\r
278                                                         <entry condition="pot">0x0000000002000000</entry>\r
279                                                         <entry>Apply Patch</entry>\r
280                                                 </row>\r
281                                                 <row>\r
282                                                         <entry condition="pot">0x0000000004000000</entry>\r
283                                                         <entry>Revision graph</entry>\r
284                                                 </row>\r
285                                                 <row>\r
286                                                         <entry condition="pot">0x0000000008000000</entry>\r
287                                                         <entry>Lock</entry>\r
288                                                 </row>\r
289                                                 <row>\r
290                                                         <entry condition="pot">0x0000000010000000</entry>\r
291                                                         <entry>Remove Lock</entry>\r
292                                                 </row>\r
293                                                 <row>\r
294                                                         <entry condition="pot">0x0000000020000000</entry>\r
295                                                         <entry>Properties</entry>\r
296                                                 </row>\r
297                                                 <row>\r
298                                                         <entry condition="pot">0x0000000040000000</entry>\r
299                                                         <entry>Diff with URL</entry>\r
300                                                 </row>\r
301                                                 <row>\r
302                                                         <entry condition="pot">0x0000000080000000</entry>\r
303                                                         <entry>Delete unversioned items</entry>\r
304                                                 </row>\r
305                                                 <row>\r
306                                                         <entry condition="pot">0x2000000000000000</entry>\r
307                                                         <entry>Settings</entry>\r
308                                                 </row>\r
309                                                 <row>\r
310                                                         <entry condition="pot">0x4000000000000000</entry>\r
311                                                         <entry>Help</entry>\r
312                                                 </row>\r
313                                                 <row>\r
314                                                         <entry condition="pot">0x8000000000000000</entry>\r
315                                                         <entry>About</entry>\r
316                                                 </row>\r
317                                         </tbody>\r
318                                 </tgroup>\r
319                         </table>\r
320                 </para>\r
321                 <para>\r
322                         Example: to disable the <quote>Relocate</quote> the \r
323                         <quote>Delete unversioned items</quote>\r
324                         and the <quote>Settings</quote> menu entries, add the values assigned\r
325                         to the entries like this:\r
326 <screen>\r
327   0x0000000000080000\r
328 + 0x0000000080000000\r
329 + 0x2000000000000000\r
330 = 0x2000000080080000\r
331 </screen>\r
332                         The lower <literal>DWORD</literal> value (<literal>0x80080000</literal>)\r
333                         must then be stored in\r
334                         <filename>HKEY_CURRENT_USER\Software\TortoiseGit\ContextMenuEntriesMaskLow</filename>,\r
335                         the higher <literal>DWORD</literal> value (<literal>0x20000000</literal>) in\r
336                         <filename>HKEY_CURRENT_USER\Software\TortoiseGit\ContextMenuEntriesMaskHigh</filename>.\r
337                 </para>\r
338                 <para>\r
339                         To enable the menu entries again, simply delete the two registry keys.\r
340                 </para>\r
341         </sect1>\r
342 </appendix>\r