Wiki

Ticket #19: Cobra.wxs

File Cobra.wxs, 26.5 KB (added by eric.sellon, 15 years ago)

WiX XML source file

Line 
1<?xml version='1.0'?>
2<!--
3This XML file is a WiX source file for creating a Windows Installer (.msi file) for
4a binary Windows distribution of the Cobra Language compiler.
5The WiX toolset is available online at: http://wix.sourceforge.net/index.html
6The WiX toolset is only available on Windows (as far as I know).
7This source file was tested with version 3.0 of the WiX toolset.
8To create an msi from this WiX source file run these commands:
91. candle Cobra.wxs
102. light Cobra.wixobj
11This WiX source file assumes it is in the parent directory of the following directory structure:
12CobraRelease
13|----Cobra.Lang
14|----HowTo
15|----Reusables
16|----Samples
17The resulting installed structure is:
18\
19|----Cobra
20     |----Cobra-release
21          |----bin
22               |----Cobra.Lang
23          |----HowTo
24          |----Reusables
25          |----Samples
26Notes:
27Each target directory must be added with the Directory tag.
28Each file must be added with the Component and File tags from within the DirectoryRef.
29Additionally each file be referenced by a ComponentRef tag within the Feature section
30to be installed on the target system.
31When adding files, a GUID must be provided. A simple way to make one is to use the
32generator at: http://www.guidgenerator.com/online-guid-generator.aspx
33The Cobra.Lang.dll file placed into the binary release needs to be built with the strong
34name or it won't be located in the GAC when it is needed.
35The cobra.bat is the only file in the Cobra main directory. The contents should point to
36the current version so that future installs overwrite it and the Path environment
37variable doesn't have to change.
38-->
39<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
40   <Product Id='*' Name='Cobra 0.8.0' Language='1033'
41            Version='1.0.0.0' Manufacturer='Cobra Language LLC' UpgradeCode='996AB340-DA98-41CA-8E18-10AC3FD30BBD' >
42      <Package Description='Cobra Compiler'
43               Comments='Installs the binaries for the Cobra Compiler'
44               Manufacturer='Cobra Language LLC' InstallerVersion='200' Compressed='yes' />
45
46      <Media Id='1' Cabinet='cobracompiler.cab' EmbedCab='yes' />
47
48      <Directory Id='TARGETDIR' Name='SourceDir'>
49         <Directory Id='CobraTopLevel' Name='Cobra'>
50            <Directory Id='CobraVersion' Name='Cobra-0.8.0-post-2009-06-09'>
51               <Directory Id='CobraBin' Name='bin'>
52                  <Directory Id='CobraLang' Name='Cobra.Lang' />
53               </Directory>
54               <Directory Id='CobraHowTo' Name='HowTo' />
55               <Directory Id='CobraSamples' Name='Samples' />
56               <Directory Id='CobraReusables' Name='Reusables' />
57            </Directory>
58         </Directory>
59      </Directory>
60
61      <DirectoryRef Id='CobraBin'>
62         <Component Id='CobraBin_cobra.exe' Guid='cd93d91b-a734-4047-bc05-e32e07f61189'>
63            <File Id='CobraBin_cobra.exe' Source='CobraRelease\cobra.exe' Checksum='yes' />
64         </Component>
65         <Component Id='CobraBin_Cobra.Lang.dll' Guid='5615ac99-2063-40a3-9f9a-114a87546e5f'>
66            <File Id='CobraBin_Cobra.Lang.dll' Source='CobraRelease\Cobra.Lang.dll' Checksum='yes' />
67         </Component>
68         <Component Id='CobraBin_styles_cobra_doc.css' Guid='db49232a-4d98-4ce5-bfab-84b37912647a'>
69            <File Id='CobraBin_styles_cobra_doc.css' Source='CobraRelease\styles-cobra-doc.css' />
70         </Component>
71         <Component Id='CobraBin_styles_exception_report.css' Guid='92f5ee61-157d-48f4-b231-40b6d8555603'>
72            <File Id='CobraBin_styles_exception_report.css' Source='CobraRelease\styles-exception-report.css' />
73         </Component>
74         <Component Id='CobraBin_styles_output_html.css' Guid='b0c118ef-c679-4178-a3cf-c6bb7cd22139'>
75            <File Id='CobraBin_styles_output_html.css' Source='CobraRelease\styles-output-html.css' />
76         </Component>
77      </DirectoryRef>
78
79      <DirectoryRef Id='CobraLang'>
80         <Component Id='CobraLang_AssemblyAttrs.cobra' Guid='3e519b58-1aeb-48f6-bd19-448b3268f987'>
81            <File Id='CobraLang_AssemblyAttrs.cobra' Source='CobraRelease\Cobra.Lang\AssemblyAttrs.cobra' />
82         </Component>
83         <Component Id='CobraLang_Cobra.Lang.snk' Guid='43f7739b-054a-4887-b8a7-96b45b33b3b8'>
84            <File Id='CobraLang_Cobra.Lang.snk' Source='CobraRelease\Cobra.Lang\Cobra.Lang.snk' />
85         </Component>
86         <Component Id='CobraLang_CobraCore.cobra' Guid='14635eef-5cf6-490f-8f2f-75f8efe3a88a'>
87            <File Id='CobraLang_CobraCore.cobra' Source='CobraRelease\Cobra.Lang\CobraCore.cobra' />
88         </Component>
89         <Component Id='CobraLang_CobraFrame.cobra' Guid='f8c127e4-c2e2-4c79-b47b-56efb46a00b2'>
90            <File Id='CobraLang_CobraFrame.cobra' Source='CobraRelease\Cobra.Lang\CobraFrame.cobra' />
91         </Component>
92         <Component Id='CobraLang_ExceptionReportWriter.cobra' Guid='d85736ea-bd48-4943-a1ce-547837cfb566'>
93            <File Id='CobraLang_ExceptionReportWriter.cobra' Source='CobraRelease\Cobra.Lang\ExceptionReportWriter.cobra' />
94         </Component>
95         <Component Id='CobraLang_Exceptions.cobra' Guid='81daa774-f372-4b67-9055-0f150383f777'>
96            <File Id='CobraLang_Exceptions.cobra' Source='CobraRelease\Cobra.Lang\Exceptions.cobra' />
97         </Component>
98         <Component Id='CobraLang_ExtendIEnumerable.cobra' Guid='ab935316-a8b5-4a38-a0b8-1c685100f043'>
99            <File Id='CobraLang_ExtendIEnumerable.cobra' Source='CobraRelease\Cobra.Lang\ExtendIEnumerable.cobra' />
100         </Component>
101         <Component Id='CobraLang_ExtendList.cobra' Guid='fbf63f01-98a2-4e2f-90a0-a572e6142eed'>
102            <File Id='CobraLang_ExtendList.cobra' Source='CobraRelease\Cobra.Lang\ExtendList.cobra' />
103         </Component>
104         <Component Id='CobraLang_Extensions.cobra' Guid='821ff78b-d21b-47fc-a43a-9ff04f5df78e'>
105            <File Id='CobraLang_Extensions.cobra' Source='CobraRelease\Cobra.Lang\Extensions.cobra' />
106         </Component>
107         <Component Id='CobraLang_files.text' Guid='17fe4907-3943-4a3e-921d-2838f095cb95'>
108            <File Id='CobraLang_files.text' Source='CobraRelease\Cobra.Lang\files.text' />
109         </Component>
110         <Component Id='CobraLang_HtmlExceptionReportWriter.cobra' Guid='cad892dc-1f29-4fa9-93ed-8877776708f8'>
111            <File Id='CobraLang_HtmlExceptionReportWriter.cobra' Source='CobraRelease\Cobra.Lang\HtmlExceptionReportWriter.cobra' />
112         </Component>
113         <Component Id='CobraLang_Misc.cobra' Guid='fca62901-65ff-4eff-9346-ea7684a763d5'>
114            <File Id='CobraLang_Misc.cobra' Source='CobraRelease\Cobra.Lang\Misc.cobra' />
115         </Component>
116         <Component Id='CobraLang_Native.cs' Guid='529fa040-1e2e-41f8-b864-c8a6f14e5f2a'>
117            <File Id='CobraLang_Native.cs' Source='CobraRelease\Cobra.Lang\Native.cs' />
118         </Component>
119         <Component Id='CobraLang_NativeExtern.cobra' Guid='c4372d2a-bb9b-4788-a729-ca3c4510a702'>
120            <File Id='CobraLang_NativeExtern.cobra' Source='CobraRelease\Cobra.Lang\NativeExtern.cobra' />
121         </Component>
122         <Component Id='CobraLang_ObjectCatalog.cobra' Guid='ded7d5cb-9a32-4d59-aa72-7571a501b1fe'>
123            <File Id='CobraLang_ObjectCatalog.cobra' Source='CobraRelease\Cobra.Lang\ObjectCatalog.cobra' />
124         </Component>
125         <Component Id='CobraLang_Set.cobra' Guid='418d3c34-7721-4f6a-97eb-888f13b4bb61'>
126            <File Id='CobraLang_Set.cobra' Source='CobraRelease\Cobra.Lang\Set.cobra' />
127         </Component>
128         <Component Id='CobraLang_SourceSite.cobra' Guid='1b9ae04d-17f5-49cf-8f5e-8d1b61d90575'>
129            <File Id='CobraLang_SourceSite.cobra' Source='CobraRelease\Cobra.Lang\SourceSite.cobra' />
130         </Component>
131         <Component Id='CobraLang_StringMaker.cobra' Guid='2a615c40-fb9f-42f5-91c2-05d0b30782c6'>
132            <File Id='CobraLang_StringMaker.cobra' Source='CobraRelease\Cobra.Lang\StringMaker.cobra' />
133         </Component>
134         <Component Id='CobraLang_Tracer.cobra' Guid='0d907114-4106-47f5-a6fa-54d442840929'>
135            <File Id='CobraLang_Tracer.cobra' Source='CobraRelease\Cobra.Lang\Tracer.cobra' />
136         </Component>
137         <Component Id='CobraLang_Visitor.cobra' Guid='95a46b0b-00f5-4dc9-b2a5-7cc15a35a2fa'>
138            <File Id='CobraLang_Visitor.cobra' Source='CobraRelease\Cobra.Lang\Visitor.cobra' />
139         </Component>
140      </DirectoryRef>
141
142      <DirectoryRef Id='CobraVersion'>
143         <Component Id='CobraVersion_ReadMe.text' Guid='0d300d7f-3bd2-48aa-877f-7b7b49861e12'>
144            <File Id='CobraVersion_ReadMe.text' Source='CobraRelease\ReadMe.text' />
145         </Component>
146         <Component Id='CobraVersion_License.text' Guid='653d4e4e-dc94-422a-87c5-5e1059bdc446'>
147            <File Id='CobraVersion_License.text' Source='CobraRelease\License.text' />
148         </Component>
149         <Component Id='CobraVersion_GAC_Cobra.Lang.dll' Guid='213b1ef6-63fc-4ef9-9233-bbf251dd6411'>
150            <File Id='CobraVersion_GAC_Cobra.Lang.dll' Name='Cobra.Lang.dll' Source='CobraRelease\Cobra.Lang.dll' KeyPath='yes' Assembly='.net' />
151         </Component>
152      </DirectoryRef>
153
154      <DirectoryRef Id='CobraHowTo'>
155         <Component Id='CobraHowTo_100_PrintHelloWorld.cobra' Guid='e337b817-974e-4e3f-bc4a-7807acd568ed'>
156            <File Id='CobraHowTo_100_PrintHelloWorld.cobra' Source='CobraRelease\HowTo\100-PrintHelloWorld.cobra' />
157         </Component>
158         <Component Id='CobraHowTo_101_WriteBasicSyntax.cobra' Guid='43301db5-855b-4d2e-a40d-6a9ea0c82744'>
159            <File Id='CobraHowTo_101_WriteBasicSyntax.cobra' Source='CobraRelease\HowTo\101-WriteBasicSyntax.cobra' />
160         </Component>
161         <Component Id='CobraHowTo_111_UseProperties.cobra' Guid='8e9020e4-3547-41fe-b8cc-e92934b392b2'>
162            <File Id='CobraHowTo_111_UseProperties.cobra' Source='CobraRelease\HowTo\111-UseProperties.cobra' />
163         </Component>
164         <Component Id='CobraHowTo_125_MakeAnIfElseLadder.cobra' Guid='9825d012-6ea9-441d-8bfc-4a7e2518da01'>
165            <File Id='CobraHowTo_125_MakeAnIfElseLadder.cobra' Source='CobraRelease\HowTo\125-MakeAnIfElseLadder.cobra' />
166         </Component>
167         <Component Id='CobraHowTo_130_MakeABranchStatement.cobra' Guid='9481bd5d-90ce-4c69-a217-2652ecf4d8ff'>
168            <File Id='CobraHowTo_130_MakeABranchStatement.cobra' Source='CobraRelease\HowTo\130-MakeABranchStatement.cobra' />
169         </Component>
170         <Component Id='CobraHowTo_150_DeclareInits.cobra' Guid='6ef82c71-cab7-41e5-8a9e-5278c3e00e47'>
171            <File Id='CobraHowTo_150_DeclareInits.cobra' Source='CobraRelease\HowTo\150-DeclareInits.cobra' />
172         </Component>
173         <Component Id='CobraHowTo_186_UseArrays.cobra' Guid='3a10d997-ee5f-481f-99d9-63250449c4e4'>
174            <File Id='CobraHowTo_186_UseArrays.cobra' Source='CobraRelease\HowTo\186-UseArrays.cobra' />
175         </Component>
176         <Component Id='CobraHowTo_200_MakeAClassHierarchy.cobra' Guid='d5c630ea-42db-4ba1-829b-05a6860796cf'>
177            <File Id='CobraHowTo_200_MakeAClassHierarchy.cobra' Source='CobraRelease\HowTo\200-MakeAClassHierarchy.cobra' />
178         </Component>
179         <Component Id='CobraHowTo_210_UseNilAndNilableTypes.cobra' Guid='f77a7704-d0d8-4793-b9bf-bf95c2e29c08'>
180            <File Id='CobraHowTo_210_UseNilAndNilableTypes.cobra' Source='CobraRelease\HowTo\210-UseNilAndNilableTypes.cobra' />
181         </Component>
182         <Component Id='CobraHowTo_220_UseDynamicTyping.cobra' Guid='9d3b97dc-982f-4ff9-860b-5c70aee0a61d'>
183            <File Id='CobraHowTo_220_UseDynamicTyping.cobra' Source='CobraRelease\HowTo\220-UseDynamicTyping.cobra' />
184         </Component>
185         <Component Id='CobraHowTo_250_DeclareVariableNumberOfArgs.cobra' Guid='0da799e7-171f-4454-979c-127c13461747'>
186            <File Id='CobraHowTo_250_DeclareVariableNumberOfArgs.cobra' Source='CobraRelease\HowTo\250-DeclareVariableNumberOfArgs.cobra' />
187         </Component>
188         <Component Id='CobraHowTo_275_ReadAndWriteFiles.cobra' Guid='9cd0ff8a-1aeb-4de5-92fa-4be89f6673ed'>
189            <File Id='CobraHowTo_275_ReadAndWriteFiles.cobra' Source='CobraRelease\HowTo\275-ReadAndWriteFiles.cobra' />
190         </Component>
191         <Component Id='CobraHowTo_280_CheckInheritanceAndImplementation.cobra' Guid='b8e50271-cca5-4e89-9612-e0270a876714'>
192            <File Id='CobraHowTo_280_CheckInheritanceAndImplementation.cobra' Source='CobraRelease\HowTo\280-CheckInheritanceAndImplementation.cobra' />
193         </Component>
194         <Component Id='CobraHowTo_282_PassReferencesToMethods.cobra' Guid='7a079c25-e2ba-4354-a22f-a913669d86c6'>
195            <File Id='CobraHowTo_282_PassReferencesToMethods.cobra' Source='CobraRelease\HowTo\282-PassReferencesToMethods.cobra' />
196         </Component>
197         <Component Id='CobraHowTo_290_TranslatePseudoCodeToCobra1.cobra' Guid='68f9a060-76f2-4e94-bad4-6de09cf905b9'>
198            <File Id='CobraHowTo_290_TranslatePseudoCodeToCobra1.cobra' Source='CobraRelease\HowTo\290-TranslatePseudoCodeToCobra1.cobra' />
199         </Component>
200         <Component Id='CobraHowTo_292_TranslatePseudoCodeToCobra2.cobra' Guid='8ff582b1-eecf-49fd-85bb-44be98cb3c78'>
201            <File Id='CobraHowTo_292_TranslatePseudoCodeToCobra2.cobra' Source='CobraRelease\HowTo\292-TranslatePseudoCodeToCobra2.cobra' />
202         </Component>
203         <Component Id='CobraHowTo_300_ImplementIEnumerable1.cobra' Guid='5797889e-c40d-4783-a786-830680d2258c'>
204            <File Id='CobraHowTo_300_ImplementIEnumerable1.cobra' Source='CobraRelease\HowTo\300-ImplementIEnumerable1.cobra' />
205         </Component>
206         <Component Id='CobraHowTo_301_ImplementIEnumerable2.cobra' Guid='52d24db5-32bb-4388-a81c-5d4bfb4856b0'>
207            <File Id='CobraHowTo_301_ImplementIEnumerable2.cobra' Source='CobraRelease\HowTo\301-ImplementIEnumerable2.cobra' />
208         </Component>
209         <Component Id='CobraHowTo_310_IterateThroughRecursiveDataWithYield.cobra' Guid='6b08f575-ab19-4b46-b9b3-5d0672ba1431'>
210            <File Id='CobraHowTo_310_IterateThroughRecursiveDataWithYield.cobra' Source='CobraRelease\HowTo\310-IterateThroughRecursiveDataWithYield.cobra' />
211         </Component>
212         <Component Id='CobraHowTo_350_MakeACollectionClass.cobra' Guid='ae783a1c-2e23-4dee-97e0-ba934d519434'>
213            <File Id='CobraHowTo_350_MakeACollectionClass.cobra' Source='CobraRelease\HowTo\350-MakeACollectionClass.cobra' />
214         </Component>
215         <Component Id='CobraHowTo_360_DeclareContracts.cobra' Guid='442d3ff4-054e-4ac2-8071-d3303afdebcc'>
216            <File Id='CobraHowTo_360_DeclareContracts.cobra' Source='CobraRelease\HowTo\360-DeclareContracts.cobra' />
217         </Component>
218         <Component Id='CobraHowTo_370_Threads.cobra' Guid='5fa7e896-c7e8-4742-a791-2eb0f716eb74'>
219            <File Id='CobraHowTo_370_Threads.cobra' Source='CobraRelease\HowTo\370-Threads.cobra' />
220         </Component>
221         <Component Id='CobraHowTo_380_WinForms.cobra' Guid='a477e7d9-db04-4d47-bb83-43b12aee7264'>
222            <File Id='CobraHowTo_380_WinForms.cobra' Source='CobraRelease\HowTo\380-WinForms.cobra' />
223         </Component>
224         <Component Id='CobraHowTo_382_WPF.cobra' Guid='e0d3a7b8-da33-4c8a-b3ff-ef0e8669e38f'>
225            <File Id='CobraHowTo_382_WPF.cobra' Source='CobraRelease\HowTo\382-WPF.cobra' />
226         </Component>
227         <Component Id='CobraHowTo_390_GTK.cobra' Guid='b00d6972-25a2-4a17-ba3d-1ca24fd88e3f'>
228            <File Id='CobraHowTo_390_GTK.cobra' Source='CobraRelease\HowTo\390-GTK.cobra' />
229         </Component>
230         <Component Id='CobraHowTo_400_DeepCopyObjects.cobra' Guid='b1c3ee37-4ef7-4f79-8e9a-c23c60343660'>
231            <File Id='CobraHowTo_400_DeepCopyObjects.cobra' Source='CobraRelease\HowTo\400-DeepCopyObjects.cobra' />
232         </Component>
233         <Component Id='CobraHowTo_600_AccessMySQL.cobra' Guid='4538cd84-8764-487e-99eb-590576c3956b'>
234            <File Id='CobraHowTo_600_AccessMySQL.cobra' Source='CobraRelease\HowTo\600-AccessMySQL.cobra' />
235         </Component>
236         <Component Id='CobraHowTo_ReadMe.text' Guid='b1308cc2-dde7-4d2f-8b91-4fb4af15db19'>
237            <File Id='CobraHowTo_ReadMe.text' Source='CobraRelease\HowTo\ReadMe.text' />
238         </Component>
239      </DirectoryRef>
240
241      <DirectoryRef Id='CobraSamples'>
242         <Component Id='CobraSamples_BlindWatchMaker1.cobra' Guid='e48f055b-fa79-44ac-9b4b-3880d6af9cc8'>
243            <File Id='CobraSamples_BlindWatchMaker1.cobra' Source='CobraRelease\Samples\BlindWatchMaker1.cobra' />
244         </Component>
245         <Component Id='CobraSamples_compile.bat' Guid='d4ebf1ed-2573-4be6-ab6c-7c3676638d11'>
246            <File Id='CobraSamples_compile.bat' Source='CobraRelease\Samples\compile.bat' />
247         </Component>
248         <Component Id='CobraSamples_Download.cobra' Guid='c2bd325d-e59d-4c0b-b226-cc6c5ee97db8'>
249            <File Id='CobraSamples_Download.cobra' Source='CobraRelease\Samples\Download.cobra' />
250         </Component>
251         <Component Id='CobraSamples_FindWords.cobra' Guid='5e7c35e9-5074-4a5c-9267-407bc7f21c00'>
252            <File Id='CobraSamples_FindWords.cobra' Source='CobraRelease\Samples\FindWords.cobra' />
253         </Component>
254         <Component Id='CobraSamples_forth.cobra' Guid='8c842537-0163-4511-af59-d3b3cef2dfd3'>
255            <File Id='CobraSamples_forth.cobra' Source='CobraRelease\Samples\forth.cobra' />
256         </Component>
257         <Component Id='CobraSamples_FractalBenchmark.cobra' Guid='be94617a-546a-4cb3-aa56-53e088915962'>
258            <File Id='CobraSamples_FractalBenchmark.cobra' Source='CobraRelease\Samples\FractalBenchmark.cobra' />
259         </Component>
260         <Component Id='CobraSamples_GeneticAlgorithm.cobra' Guid='97ec1cef-14d2-4f2e-b054-2c6f1125c0ae'>
261            <File Id='CobraSamples_GeneticAlgorithm.cobra' Source='CobraRelease\Samples\GeneticAlgorithm.cobra' />
262         </Component>
263         <Component Id='CobraSamples_google_api.cobra' Guid='f1919958-aac4-4ffb-a9d3-9f1fe72a4d3b'>
264            <File Id='CobraSamples_google_api.cobra' Source='CobraRelease\Samples\google-api.cobra' />
265         </Component>
266         <Component Id='CobraSamples_GoogleSearchService.cs' Guid='77c42c88-c789-458b-b7a3-82c786186d95'>
267            <File Id='CobraSamples_GoogleSearchService.cs' Source='CobraRelease\Samples\GoogleSearchService.cs' />
268         </Component>
269         <Component Id='CobraSamples_Point.cobra' Guid='2078503d-c8a5-4f4c-a3ce-19935591a636'>
270            <File Id='CobraSamples_Point.cobra' Source='CobraRelease\Samples\Point.cobra' />
271         </Component>
272         <Component Id='CobraSamples_ReadMe.text' Guid='07e7c17a-71a9-4cca-b4bc-79e4c241eaca'>
273            <File Id='CobraSamples_ReadMe.text' Source='CobraRelease\Samples\ReadMe.text' />
274         </Component>
275         <Component Id='CobraSamples_Shapes.cobra' Guid='973983a9-7cad-4f05-9243-c6e182877c68'>
276            <File Id='CobraSamples_Shapes.cobra' Source='CobraRelease\Samples\Shapes.cobra' />
277         </Component>
278         <Component Id='CobraSamples_Sizes.cobra' Guid='f5b1bb3d-a768-4644-a1e7-d17399732ef8'>
279            <File Id='CobraSamples_Sizes.cobra' Source='CobraRelease\Samples\Sizes.cobra' />
280         </Component>
281         <Component Id='CobraSamples_TPK.cobra' Guid='81109fe6-7922-43fa-b289-86097029dc4e'>
282            <File Id='CobraSamples_TPK.cobra' Source='CobraRelease\Samples\TPK.cobra' />
283         </Component>
284         <Component Id='CobraSamples_WordCount.cobra' Guid='43338c5b-7ba3-400f-a715-08d2027905f7'>
285            <File Id='CobraSamples_WordCount.cobra' Source='CobraRelease\Samples\WordCount.cobra' />
286         </Component>
287      </DirectoryRef>
288
289      <DirectoryRef Id='CobraReusables'>
290         <Component Id='CobraReusables_DeluxePage.cobra' Guid='8d9e8154-5a69-441f-ae74-d0be5c0646d0'>
291            <File Id='CobraReusables_DeluxePage.cobra' Source='CobraRelease\Reusables\DeluxePage.cobra' />
292         </Component>
293         <Component Id='CobraReusables_IndentedWriter.cobra' Guid='3e3fadf2-ee70-4fe3-82e8-663ef78597b2'>
294            <File Id='CobraReusables_IndentedWriter.cobra' Source='CobraRelease\Reusables\IndentedWriter.cobra' />
295         </Component>
296         <Component Id='CobraReusables_ReadMe.text' Guid='06b77cdf-54e4-4a34-9274-bd88ab677c84'>
297            <File Id='CobraReusables_ReadMe.text' Source='CobraRelease\Reusables\ReadMe.text' />
298         </Component>
299         <Component Id='CobraReusables_Set.cobra' Guid='86d82573-82d2-4870-b10f-8847888a4d0f'>
300            <File Id='CobraReusables_Set.cobra' Source='CobraRelease\Reusables\Set.cobra' />
301         </Component>
302         <Component Id='CobraReusables_styles.css' Guid='d43f5caf-27f9-4ccb-b19e-795f5e68222e'>
303            <File Id='CobraReusables_styles.css' Source='CobraRelease\Reusables\styles.css' />
304         </Component>
305         <Component Id='CobraReusables_test.bat' Guid='0f53962f-1b64-4c0f-bad0-86fd9fa04d79'>
306            <File Id='CobraReusables_test.bat' Source='CobraRelease\Reusables\test.bat' />
307         </Component>
308         <Component Id='CobraReusables_WebPages.cobra' Guid='6e31f059-2309-4721-b712-f6e1ee140f37'>
309            <File Id='CobraReusables_WebPages.cobra' Source='CobraRelease\Reusables\WebPages.cobra' />
310         </Component>
311      </DirectoryRef>
312
313      <DirectoryRef Id='CobraTopLevel'>
314         <Component Id='CobraTopLevel_cobra.bat' Guid='c74e8f72-9445-4cb9-bf97-387f16844643'>
315            <File Id='CobraTopLevel_cobra.bat' Source='CobraRelease\cobra.bat' />
316            <Environment Id='CobraPathEntry' Name='Path' Part='last' Value='c:\Cobra' System='yes' Action='set' />
317         </Component>
318      </DirectoryRef>
319
320      <Feature Id='CobraCompiler' Title='Cobra Compiler (version 0.8.0)' Level='1'>
321
322         <ComponentRef Id='CobraBin_cobra.exe' />
323         <ComponentRef Id='CobraBin_Cobra.Lang.dll' />
324         <ComponentRef Id='CobraBin_styles_cobra_doc.css' />
325         <ComponentRef Id='CobraBin_styles_exception_report.css' />
326         <ComponentRef Id='CobraBin_styles_output_html.css' />
327
328         <ComponentRef Id='CobraLang_AssemblyAttrs.cobra' />
329         <ComponentRef Id='CobraLang_Cobra.Lang.snk' />
330         <ComponentRef Id='CobraLang_CobraCore.cobra' />
331         <ComponentRef Id='CobraLang_CobraFrame.cobra' />
332         <ComponentRef Id='CobraLang_ExceptionReportWriter.cobra' />
333         <ComponentRef Id='CobraLang_Exceptions.cobra' />
334         <ComponentRef Id='CobraLang_ExtendIEnumerable.cobra' />
335         <ComponentRef Id='CobraLang_ExtendList.cobra' />
336         <ComponentRef Id='CobraLang_Extensions.cobra' />
337         <ComponentRef Id='CobraLang_files.text' />
338         <ComponentRef Id='CobraLang_HtmlExceptionReportWriter.cobra' />
339         <ComponentRef Id='CobraLang_Misc.cobra' />
340         <ComponentRef Id='CobraLang_Native.cs' />
341         <ComponentRef Id='CobraLang_NativeExtern.cobra' />
342         <ComponentRef Id='CobraLang_ObjectCatalog.cobra' />
343         <ComponentRef Id='CobraLang_Set.cobra' />
344         <ComponentRef Id='CobraLang_SourceSite.cobra' />
345         <ComponentRef Id='CobraLang_StringMaker.cobra' />
346         <ComponentRef Id='CobraLang_Tracer.cobra' />
347         <ComponentRef Id='CobraLang_Visitor.cobra' />
348
349         <ComponentRef Id='CobraVersion_GAC_Cobra.Lang.dll' />
350         <ComponentRef Id='CobraVersion_License.text' />
351         <ComponentRef Id='CobraVersion_ReadMe.text' />
352
353         <ComponentRef Id='CobraHowTo_100_PrintHelloWorld.cobra' />
354         <ComponentRef Id='CobraHowTo_101_WriteBasicSyntax.cobra' />
355         <ComponentRef Id='CobraHowTo_111_UseProperties.cobra' />
356         <ComponentRef Id='CobraHowTo_125_MakeAnIfElseLadder.cobra' />
357         <ComponentRef Id='CobraHowTo_130_MakeABranchStatement.cobra' />
358         <ComponentRef Id='CobraHowTo_150_DeclareInits.cobra' />
359         <ComponentRef Id='CobraHowTo_186_UseArrays.cobra' />
360         <ComponentRef Id='CobraHowTo_200_MakeAClassHierarchy.cobra' />
361         <ComponentRef Id='CobraHowTo_210_UseNilAndNilableTypes.cobra' />
362         <ComponentRef Id='CobraHowTo_220_UseDynamicTyping.cobra' />
363         <ComponentRef Id='CobraHowTo_250_DeclareVariableNumberOfArgs.cobra' />
364         <ComponentRef Id='CobraHowTo_275_ReadAndWriteFiles.cobra' />
365         <ComponentRef Id='CobraHowTo_280_CheckInheritanceAndImplementation.cobra' />
366         <ComponentRef Id='CobraHowTo_282_PassReferencesToMethods.cobra' />
367         <ComponentRef Id='CobraHowTo_290_TranslatePseudoCodeToCobra1.cobra' />
368         <ComponentRef Id='CobraHowTo_292_TranslatePseudoCodeToCobra2.cobra' />
369         <ComponentRef Id='CobraHowTo_300_ImplementIEnumerable1.cobra' />
370         <ComponentRef Id='CobraHowTo_301_ImplementIEnumerable2.cobra' />
371         <ComponentRef Id='CobraHowTo_310_IterateThroughRecursiveDataWithYield.cobra' />
372         <ComponentRef Id='CobraHowTo_350_MakeACollectionClass.cobra' />
373         <ComponentRef Id='CobraHowTo_360_DeclareContracts.cobra' />
374         <ComponentRef Id='CobraHowTo_370_Threads.cobra' />
375         <ComponentRef Id='CobraHowTo_380_WinForms.cobra' />
376         <ComponentRef Id='CobraHowTo_382_WPF.cobra' />
377         <ComponentRef Id='CobraHowTo_390_GTK.cobra' />
378         <ComponentRef Id='CobraHowTo_400_DeepCopyObjects.cobra' />
379         <ComponentRef Id='CobraHowTo_600_AccessMySQL.cobra' />
380         <ComponentRef Id='CobraHowTo_ReadMe.text' />
381
382         <ComponentRef Id='CobraSamples_BlindWatchMaker1.cobra' />
383         <ComponentRef Id='CobraSamples_compile.bat' />
384         <ComponentRef Id='CobraSamples_Download.cobra' />
385         <ComponentRef Id='CobraSamples_FindWords.cobra' />
386         <ComponentRef Id='CobraSamples_forth.cobra' />
387         <ComponentRef Id='CobraSamples_FractalBenchmark.cobra' />
388         <ComponentRef Id='CobraSamples_GeneticAlgorithm.cobra' />
389         <ComponentRef Id='CobraSamples_google_api.cobra' />
390         <ComponentRef Id='CobraSamples_GoogleSearchService.cs' />
391         <ComponentRef Id='CobraSamples_Point.cobra' />
392         <ComponentRef Id='CobraSamples_ReadMe.text' />
393         <ComponentRef Id='CobraSamples_Shapes.cobra' />
394         <ComponentRef Id='CobraSamples_Sizes.cobra' />
395         <ComponentRef Id='CobraSamples_TPK.cobra' />
396         <ComponentRef Id='CobraSamples_WordCount.cobra' />
397
398         <ComponentRef Id='CobraReusables_DeluxePage.cobra' />
399         <ComponentRef Id='CobraReusables_IndentedWriter.cobra' />
400         <ComponentRef Id='CobraReusables_ReadMe.text' />
401         <ComponentRef Id='CobraReusables_Set.cobra' />
402         <ComponentRef Id='CobraReusables_styles.css' />
403         <ComponentRef Id='CobraReusables_test.bat' />
404         <ComponentRef Id='CobraReusables_WebPages.cobra' />
405
406         <ComponentRef Id='CobraTopLevel_cobra.bat' />
407      </Feature>
408   </Product>
409</Wix>
410