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
7 This appendix contains solutions to problems/questions you might
\r
8 have when you are responsible for deploying TortoiseGit to multiple
\r
12 <sect1 id="tsvn-admins-grouppolicies">
\r
13 <title>Deploy TortoiseGit via group policies</title>
\r
15 <primary>group policies</primary>
\r
18 <primary>GPO</primary>
\r
21 <primary>msi</primary>
\r
24 <primary>domain controller</primary>
\r
27 <primary>deploy</primary>
\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
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
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
52 <sect1 id="tsvn-admins-upgradecheck">
\r
53 <title>Redirect the upgrade check</title>
\r
55 <primary>upgrade check</primary>
\r
58 <primary>check new version</primary>
\r
61 <primary>version</primary>
\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
68 <figure id="tsvn-admins-dia1">
\r
69 <title>The upgrade dialog</title>
\r
70 <graphic fileref="images/upgradecheck.png"/>
\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
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
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
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
103 <sect1 id="tsvn-admins-aspdotnethack">
\r
104 <title>Setting the <literal>SVN_ASP_DOT_NET_HACK</literal> environment variable</title>
\r
106 <primary>SVN_ASP_DOT_NET_HACK</primary>
\r
109 <primary>VS2003</primary>
\r
112 <primary>ASP projects</primary>
\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
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
128 msiexec /i TortoiseGit-1.4.0.msi ASPDOTNETHACK=TRUE
\r
133 <sect1 id="tsvn-admins-disablemenus">
\r
134 <title>Disable context menu entries</title>
\r
136 <primary>context menu entries</primary>
\r
139 <primary>disable functions</primary>
\r
142 <primary>group policies</primary>
\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
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
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
165 <table id="tsvn-admins-disablemenus-1-table">
\r
166 <title>Menu entries and their values</title>
\r
168 <colspec colnum="1" colwidth="2*"/>
\r
169 <colspec colnum="2" colwidth="6*"/>
\r
172 <entry>Value</entry>
\r
173 <entry>Menu entry</entry>
\r
178 <entry condition="pot">0x0000000000000001</entry>
\r
179 <entry>Checkout</entry>
\r
182 <entry condition="pot">0x0000000000000002</entry>
\r
183 <entry>Update</entry>
\r
186 <entry condition="pot">0x0000000000000004</entry>
\r
187 <entry>Commit</entry>
\r
190 <entry condition="pot">0x0000000000000008</entry>
\r
194 <entry condition="pot">0x0000000000000010</entry>
\r
195 <entry>Revert</entry>
\r
198 <entry condition="pot">0x0000000000000020</entry>
\r
199 <entry>Cleanup</entry>
\r
202 <entry condition="pot">0x0000000000000040</entry>
\r
203 <entry>Resolve</entry>
\r
206 <entry condition="pot">0x0000000000000080</entry>
\r
207 <entry>Switch</entry>
\r
210 <entry condition="pot">0x0000000000000100</entry>
\r
211 <entry>Import</entry>
\r
214 <entry condition="pot">0x0000000000000200</entry>
\r
215 <entry>Export</entry>
\r
218 <entry condition="pot">0x0000000000000400</entry>
\r
219 <entry>Create Repository here</entry>
\r
222 <entry condition="pot">0x0000000000000800</entry>
\r
223 <entry>Branch/Tag</entry>
\r
226 <entry condition="pot">0x0000000000001000</entry>
\r
227 <entry>Merge</entry>
\r
230 <entry condition="pot">0x0000000000002000</entry>
\r
231 <entry>Delete</entry>
\r
234 <entry condition="pot">0x0000000000004000</entry>
\r
235 <entry>Rename</entry>
\r
238 <entry condition="pot">0x0000000000008000</entry>
\r
239 <entry>Update to revision</entry>
\r
242 <entry condition="pot">0x0000000000010000</entry>
\r
243 <entry>Diff</entry>
\r
246 <entry condition="pot">0x0000000000020000</entry>
\r
247 <entry>Show Log</entry>
\r
250 <entry condition="pot">0x0000000000040000</entry>
\r
251 <entry>Edit Conflicts</entry>
\r
254 <entry condition="pot">0x0000000000080000</entry>
\r
255 <entry>Relocate</entry>
\r
258 <entry condition="pot">0x0000000000100000</entry>
\r
259 <entry>Check for modifications</entry>
\r
262 <entry condition="pot">0x0000000000200000</entry>
\r
263 <entry>Ignore</entry>
\r
266 <entry condition="pot">0x0000000000400000</entry>
\r
267 <entry>Repository Browser</entry>
\r
270 <entry condition="pot">0x0000000000800000</entry>
\r
271 <entry>Blame</entry>
\r
274 <entry condition="pot">0x0000000001000000</entry>
\r
275 <entry>Create Patch</entry>
\r
278 <entry condition="pot">0x0000000002000000</entry>
\r
279 <entry>Apply Patch</entry>
\r
282 <entry condition="pot">0x0000000004000000</entry>
\r
283 <entry>Revision graph</entry>
\r
286 <entry condition="pot">0x0000000008000000</entry>
\r
287 <entry>Lock</entry>
\r
290 <entry condition="pot">0x0000000010000000</entry>
\r
291 <entry>Remove Lock</entry>
\r
294 <entry condition="pot">0x0000000020000000</entry>
\r
295 <entry>Properties</entry>
\r
298 <entry condition="pot">0x0000000040000000</entry>
\r
299 <entry>Diff with URL</entry>
\r
302 <entry condition="pot">0x0000000080000000</entry>
\r
303 <entry>Delete unversioned items</entry>
\r
306 <entry condition="pot">0x2000000000000000</entry>
\r
307 <entry>Settings</entry>
\r
310 <entry condition="pot">0x4000000000000000</entry>
\r
311 <entry>Help</entry>
\r
314 <entry condition="pot">0x8000000000000000</entry>
\r
315 <entry>About</entry>
\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
328 + 0x0000000080000000
\r
329 + 0x2000000000000000
\r
330 = 0x2000000080080000
\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
339 To enable the menu entries again, simply delete the two registry keys.
\r