source: trunk/eraser/Installer/DirectoryStructure.wxs @ 2606

Revision 2606, 12.2 KB checked in by lowjoel, 2 years ago (diff)

Merged the XML Task Lists branch back to trunk. Implements #362: Use XML to store task lists

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 * $Id$
4 * Copyright 2008-2012 The Eraser Project
5 * Original Author: Joel Low <lowjoel@users.sourceforge.net>
6 * Modified By:
7 *
8 * This file is part of Eraser.
9 *
10 * Eraser is free software: you can redistribute it and/or modify it under the
11 * terms of the GNU General Public License as published by the Free Software
12 * Foundation, either version 3 of the License, or (at your option) any later
13 * version.
14 *
15 * Eraser is distributed in the hope that it will be useful, but WITHOUT ANY
16 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
17 * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
18 *
19 * A copy of the GNU General Public License can be found at
20 * <http://www.gnu.org/licenses/>.
21-->
22
23<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
24    <Fragment Id="EraserDirectoryFragment">
25        <DirectoryRef Id="PFFolder">
26            <Directory Id="INSTALLLOCATION" Name="Eraser">
27                <!-- Dependencies (of Eraser.Shell.Dll) -->
28                <?if $(sys.BUILDARCH) = "x64"?>
29                    <Merge Id="VCRedist" SourceFile="Merge Modules\Microsoft_VC100_CRT_x64.msm"
30                        DiskId="1" Language="0"/>
31                    <Merge Id="VCAtlRedist" SourceFile="Merge Modules\Microsoft_VC100_ATL_x64.msm"
32                        DiskId="1" Language="0"/>
33                    <Merge Id="VCMfcRedist" SourceFile="Merge Modules\Microsoft_VC100_MFC_x64.msm"
34                        DiskId="1" Language="0"/>
35                <?else?>
36                    <Merge Id="VCRedist" SourceFile="Merge Modules\Microsoft_VC100_CRT_x86.msm"
37                        DiskId="1" Language="0"/>
38                    <Merge Id="VCAtlRedist" SourceFile="Merge Modules\Microsoft_VC100_ATL_x86.msm"
39                        DiskId="1" Language="0"/>
40                    <Merge Id="VCMfcRedist" SourceFile="Merge Modules\Microsoft_VC100_MFC_x86.msm"
41                        DiskId="1" Language="0"/>
42                <?endif?>
43               
44               
45                <Component Id="EraserMain" Guid="D9D7F28B-1F5E-4da4-8FF2-4F8DC031E472">
46                    <File Id="EraserExe" Name="Eraser.exe" Source="..\bin\Release\Eraser.exe"
47                            ProcessorArchitecture="msil" KeyPath="yes">
48                        <Shortcut Advertise="yes" Id="EraserExeProgramMenuShortcut" Directory="ProgramMenuFolder"
49                            Name="Eraser" Icon="Eraser.exe" IconIndex="0" />
50                        <Shortcut Advertise="yes" Id="EraserExeDesktopShortcut" Directory="DesktopFolder"
51                            Name="Eraser" Icon="Eraser.exe" IconIndex="0" />
52                    </File>
53                    <RegistryValue Action="write" Id="EraserExeAppPath" Root="HKLM"
54                        Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Eraser.exe"
55                        Type="string" Value="[!EraserExe]" />
56
57                    <File Id="Alglib" Name="alglibnet2.dll" Source="..\bin\Release\alglibnet2.dll"
58                        ProcessorArchitecture="msil" />
59                    <File Id="BevelLine" Name="BevelLine.dll" Source="..\bin\Release\BevelLine.dll"
60                        ProcessorArchitecture="msil" />
61                    <File Id="CommonLibrary" Name="CommonLibrary.dll" Source="..\bin\Release\CommonLibrary.dll"
62                        ProcessorArchitecture="msil" />
63                    <File Id="DragDropLib" Name="DragDropLib.dll" Source="..\bin\Release\DragDropLib.dll"
64                        ProcessorArchitecture="msil" />
65                    <File Id="MicrosoftRuntimeHosting" Name="Microsoft.Runtime.Hosting.dll"
66                        Source="..\bin\Release\Microsoft.Runtime.Hosting.dll"
67                        ProcessorArchitecture="msil" />
68                    <File Id="SharpZipLib" Name="ICSharpCode.SharpZipLib.dll"
69                        Source="..\bin\Release\Plugins\ICSharpCode.SharpZipLib.dll" ProcessorArchitecture="msil" />
70                    <File Id="TaskDialog" Name="TaskDialog.dll"
71                        Source="..\bin\Release\TaskDialog.dll" ProcessorArchitecture="msil" />
72
73                    <File Id="EraserManager" Name="Eraser.Manager.dll"
74                        Source="..\bin\Release\Eraser.Manager.dll" ProcessorArchitecture="msil" />
75                    <File Id="EraserPluginsRuntime" Name="Eraser.Plugins.dll"
76                        Source="..\bin\Release\Eraser.Plugins.dll" ProcessorArchitecture="msil" />
77                    <File Id="EraserUtil" Name="Eraser.Util.dll"
78                        Source="..\bin\Release\Eraser.Util.dll" ProcessorArchitecture="msil" />
79                    <?if $(sys.BUILDARCH) = "x64"?>
80                    <File Id="EraserUtilNative" Name="Eraser.Util.Native.dll"
81                        Source="..\Bin\Release\x64\Eraser.Util.Native.dll"
82                        ProcessorArchitecture="x64" />
83                    <?else?>
84                    <File Id="EraserUtilNative" Name="Eraser.Util.Native.dll"
85                        Source="..\Bin\Release\Win32\Eraser.Util.Native.dll"
86                        ProcessorArchitecture="x86" />
87                    <?endif?>
88
89                    <!-- Documentation -->
90                    <File Id="EraserDocumentation" Name="Eraser Documentation.pdf"
91                        Source="..\Documentation\Documentation.pdf" />
92                   
93                    <!-- Start Eraser when Windows starts -->
94                    <RegistryValue Id="EraserStartup" Root="HKLM"
95                        Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Run" Name="Eraser"
96                        Value="&quot;[!EraserExe]&quot; /atRestart" Type="string" />
97                   
98                    <!-- Register the ersy extension with Eraser -->
99                    <RegistryValue Id="EraserErsyFileExtension" Root="HKCR"
100                        Key=".ersy" Value="Eraser.Ersy" Type="string" />
101                    <RegistryValue Id="EraserErsyFileType" Root="HKCR" Key="Eraser.Ersy"
102                        Value="Eraser 6 XML Task List" Type="string" />
103                    <RegistryValue Id="EraserErsyFileIcon" Root="HKCR"
104                        Key="Eraser.Ersy\DefaultIcon" Value="[!EraserShellDll],1"
105                        Type="string" />
106                    <RegistryValue Id="EraserErsyFileOpenAction" Root="HKCR"
107                        Key="Eraser.Ersy\shell\open\command"
108                        Value="&quot;[!EraserExe]&quot; importtasklist /quiet &quot;%1&quot;"
109                        Type="string" />
110                </Component>
111                <Component Id="EraserShell" Guid="4C446C7E-BCBC-4561-B8F6-D406516D356F">
112                    <?if $(sys.BUILDARCH) = "x64"?>
113                        <File Id="EraserShellDll" Name="Eraser.Shell.dll"
114                            Source="..\Bin\Release\x64\Eraser.Shell.dll"
115                            ProcessorArchitecture="x64" />
116                    <?else?>
117                        <File Id="EraserShellDll" Name="Eraser.Shell.dll"
118                            Source="..\Bin\Release\Win32\Eraser.Shell.dll"
119                            ProcessorArchitecture="x86" />
120                    <?endif?>
121
122                    <!-- All files -->
123                    <RegistryValue Id="EraserShellHKCRAll" Root="HKCR"
124                        Key="*\shellex\ContextMenuHandlers\Eraser"
125                        Value="{BC9B776A-90D7-4476-A791-79D835F30650}"
126                        Type="string" />
127                    <!-- Directories -->
128                    <RegistryKey Root="HKCR" Key="Directory">
129                        <RegistryValue Id="EraserShellHKCRDirectoryCtxMenu"
130                            Key="shellex\ContextMenuHandlers\Eraser"
131                            Value="{BC9B776A-90D7-4476-A791-79D835F30650}"
132                            Type="string" />
133                        <RegistryValue Id="EraserShellHKCRDirectoryDragDrop"
134                            Key="shellex\DragDropHandlers\Eraser"
135                            Value="{BC9B776A-90D7-4476-A791-79D835F30650}"
136                            Type="string" />
137                        <RegistryValue Id="EraserShellHKCRDirectoryBackgroundCtxMenu"
138                            Key="Background\shellex\ContextMenuHandlers\Eraser"
139                            Value="{BC9B776A-90D7-4476-A791-79D835F30650}"
140                            Type="string" />
141                    </RegistryKey>
142                    <!-- Drives -->
143                    <RegistryKey Root="HKCR" Key="Drive\shellex">
144                        <RegistryValue Id="EraserShellHKCRDriveCtxMenu"
145                            Key="ContextMenuHandlers\Eraser"
146                            Value="{BC9B776A-90D7-4476-A791-79D835F30650}"
147                            Type="string" />
148                        <RegistryValue Id="EraserShellHKCRDriveDragDrop"
149                            Key="DragDropHandlers\Eraser"
150                            Value="{BC9B776A-90D7-4476-A791-79D835F30650}"
151                            Type="string" />
152                    </RegistryKey>
153                    <!-- Folders -->
154                    <RegistryKey Root="HKCR" Key="Folder\shellex">
155                        <RegistryValue Id="EraserShellHKCRFolderCtxMenu"
156                            Key="ContextMenuHandlers\Eraser"
157                            Value="{BC9B776A-90D7-4476-A791-79D835F30650}"
158                            Type="string" />
159                        <RegistryValue Id="EraserShellHKCRFolderDragDrop"
160                            Key="DragDropHandlers\Eraser"
161                            Value="{BC9B776A-90D7-4476-A791-79D835F30650}"
162                            Type="string" />
163                    </RegistryKey>
164                    <!-- URL shortcuts -->
165                    <RegistryValue Id="EraserShellHKCRUrl" Root="HKCR"
166                        Key="InternetShortcut\shellex\ContextMenuHandlers\Eraser"
167                        Value="{BC9B776A-90D7-4476-A791-79D835F30650}"
168                        Type="string" />
169                    <!-- Shortcuts -->
170                    <RegistryValue Id="EraserShellHKCRLnkFile" Root="HKCR"
171                        Key="lnkfile\shellex\ContextMenuHandlers\Eraser"
172                        Value="{BC9B776A-90D7-4476-A791-79D835F30650}"
173                        Type="string" />
174                    <!-- Recycle Bin -->
175                    <RegistryValue Id="EraserShellHKCRRecycleBin" Root="HKCR"
176                        Key="CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shellex\ContextMenuHandlers\{BC9B776A-90D7-4476-A791-79D835F30650}"
177                        Value="" Type="string" />
178
179                    <!-- CLSID registration -->
180                    <RegistryKey Root="HKCR" Key="EraserShellExt.ShellExt.1">
181                        <RegistryValue Id="EraserShellHKCDEraserShellExt1DefaultValue"
182                            Value="Eraser Shell Extension" Type="string" />
183                        <RegistryValue Id="EraserShellHKCDEraserShellExt1Clsid"
184                            Name="CLSID" Value="{BC9B776A-90D7-4476-A791-79D835F30650}"
185                            Type="string" />
186                    </RegistryKey>
187                    <RegistryKey Root="HKCR" Key="EraserShellExt.ShellExt">
188                        <RegistryValue Id="EraserShellHKCDEraserShellExtDefaultValue"
189                            Value="Eraser Shell Extension" Type="string" />
190                        <RegistryValue Id="EraserShellHKCDEraserShellExtClsid"
191                            Name="CLSID" Value="{BC9B776A-90D7-4476-A791-79D835F30650}"
192                            Type="string" />
193                        <RegistryValue Id="EraserShellHKCDEraserShellExtCurVer"
194                            Name="CurVer" Value="EraserShellExt.ShellExt.1" Type="string" />
195                    </RegistryKey>
196                    <RegistryKey Root="HKCR" Key="CLSID\{BC9B776A-90D7-4476-A791-79D835F30650}">
197                        <RegistryValue Id="EraserShellHKCRClsidDefaultValue"
198                            Value="Eraser Shell Extension" Type="string" />
199                        <RegistryKey Key="InprocServer32">
200                            <RegistryValue Id="EraserShellHKCRClsidInprocServer32DefaultValue"
201                                Value="&quot;[!EraserShellDll]&quot;" Type="string" />
202                            <RegistryValue Id="EraserShellHKCRClsidInprocServer32ThreadingModel"
203                                Name="ThreadingModel" Value="Apartment" Type="string" />
204                        </RegistryKey>
205
206                        <RegistryValue Id="EraserShellHKCRClsidProgID" Key="ProgID"
207                            Value="EraserShellExt.ShellExt.1" Type="string" />
208                        <RegistryValue Id="EraserShellHKCRClsidTypeLib" Key="TypeLib"
209                            Value="{BBAA6A86-48FB-4F7B-B06F-7FACD6AFBD25}" Type="string" />
210                        <RegistryValue Id="EraserShellHKCRClsidVersionIndependentProgID"
211                            Key="VersionIndependentProgID"
212                            Value="EraserShellExt.ShellExt" Type="string" />
213                    </RegistryKey>
214                   
215                    <!-- Approved plugins -->
216                    <RegistryValue Id="EraserShellHKLMApprovedPlugin" Root="HKLM"
217                        Key="Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved"
218                        Name="Eraser Shell Extension" Value="{BC9B776A-90D7-4476-A791-79D835F30650}"
219                        Type="string" />
220                </Component>
221
222                <Directory Id="EraserLangEnDir" Name="en">
223                    <Component Id="EraserLangEn" Guid="5BB2BEF6-1271-4786-9A40-552DD6223B1F">
224                        <File Id="EraserEn" Name="Eraser.resources.dll"
225                            Source="..\bin\Release\en\Eraser.resources.dll"
226                            ProcessorArchitecture="msil" />
227                        <File Id="EraserManagerEn" Name="Eraser.Manager.resources.dll"
228                            Source="..\bin\Release\en\Eraser.Manager.resources.dll"
229                            ProcessorArchitecture="msil" />
230                        <File Id="EraserUtilEn" Name="Eraser.Util.resources.dll"
231                            Source="..\bin\Release\en\Eraser.Util.resources.dll"
232                            ProcessorArchitecture="msil" />
233                        <File Id="EraserUtilNativeEn" Name="Eraser.Util.Native.resources.dll"
234                            Source="..\bin\Release\$(var.PLATFORMDIR)\en\Eraser.Util.Native.resources.dll"
235                            ProcessorArchitecture="msil" />
236                    </Component>
237                </Directory>
238
239                <Directory Id="EraserPluginsDir" Name="Plugins">
240                    <Component Id="EraserPlugins" Guid="39A307BD-4244-4972-BC12-A5F5A76E684A">
241                        <File Id="DefaultPlugins" Name="Eraser.DefaultPlugins.dll"
242                            Source="..\bin\Release\Plugins\Eraser.DefaultPlugins.dll"
243                            ProcessorArchitecture="msil" />
244                    </Component>
245                   
246                    <Component Id="EraserBlackBox" Guid="3C9273B0-7A35-479b-BBEE-12AA3AB141EE">
247                        <File Id="EraserBlackBoxDll" Name="Eraser.BlackBox.dll"
248                            Source="..\Bin\Release\Plugins\Eraser.BlackBox.dll"
249                            ProcessorArchitecture="msil" />
250                    </Component>
251
252                    <Directory Id="EraserPluginsLangEnDir" Name="en">
253                        <Component Id="EraserDefaultPluginsLangEn" Guid="23B2B7DD-C518-4dde-A229-94CA9122B995">
254                            <File Id="EraserDefaultPluginsEn" Name="Eraser.DefaultPlugins.resources.dll"
255                                Source="..\bin\Release\Plugins\en\Eraser.DefaultPlugins.resources.dll"
256                                ProcessorArchitecture="msil" />
257                        </Component>
258
259                        <Component Id="EraserBlackBoxLangEn" Guid="0820F778-7868-442e-B5BE-B1A5E727CCE6">
260                            <File Id="EraserBlackBoxEn" Name="Eraser.BlackBox.resources.dll"
261                                Source="..\bin\Release\Plugins\en\Eraser.BlackBox.resources.dll"
262                                ProcessorArchitecture="msil" />
263                        </Component>
264                    </Directory>
265                </Directory>
266            </Directory>
267        </DirectoryRef>
268    </Fragment>
269</Wix>
Note: See TracBrowser for help on using the repository browser.