forked from binaryage/xrefresh
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathxrefresh.wxs
217 lines (194 loc) · 13.8 KB
/
xrefresh.wxs
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
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
<?xml version="1.0" encoding="UTF-8"?>
<!--
WiX a MSI system jsou ty nejzkurvenejsi tooly, ktere jsem za poslednich par let poznal.
Jednoduche veci se delaji extremne slozite a slozite veci jsou nemozne. Uz nikdy s tim nechci prijit do styku.
All things are installed for Everyone into HKLM, I wasn't able to figure out how to install COM stuff and other things separatelly.
-->
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<!-- NOTE: some bits were taken from TortoiseSVN project, thanks guys! -->
<Product Id="44386a7b-7093-4fdc-8b52-5f7e8b968960"
Name="XRefresh $(var.version)"
Language="1033"
Manufacturer="Antonin Hildebrand"
Version="$(var.version)"
UpgradeCode="3e4c3ec7-a32a-47a7-ad63-9c5464d0bc60">
<Package Keywords="Installer"
Description="XRefresh"
InstallerVersion="300"
Compressed="yes" />
<Property Id="ALLUSERS"><![CDATA[2]]></Property>
<Property Id="XRefreshHelperbar_CLSID" Value="{0A839FF4-F7CA-41E0-8EA1-F5E2913139D0}" />
<Property Id="XRefreshToolbar_CLSID" Value="{551012C5-352D-48D9-9E29-E90F293D19F0}" />
<Property Id="XRefreshBHO_CLSID" Value="{8774C0B1-6697-43B8-8D0E-6179F48838B0}" />
<Property Id="XRefresh_APPID" Value="{05B6ED58-9CB1-4270-82F7-30CCD8C4F8F0}" />
<Property Id="XRefreshTypeLib" Value="{753A4046-6863-42AC-9C85-24468A489720}" />
<Property Id="XRefreshBHO_Interface" Value="{50AE34F6-670A-4807-B11A-8CA4C9136B10}" />
<Property Id="XRefreshHelperbar_Interface" Value="{A8FE27A6-2251-4A4B-8EAF-E5E2ABA4DC80}" />
<Property Id="XRefreshToolbar_Interface" Value="{36B7E346-E901-4EE9-B888-696D4C0BBF80}" />
<Upgrade Id="3e4c3ec7-a32a-47a7-ad63-9c5464d0bc60">
<UpgradeVersion Property="NEWERVERSIONDETECTED" Minimum="$(var.version)" OnlyDetect="yes" />
<UpgradeVersion Property="PREVIOUSVERSIONSINSTALLED" Maximum="$(var.version)" IncludeMaximum="no" />
</Upgrade>
<PropertyRef Id="NETFRAMEWORK20"/>
<Condition Message="The .NET Framework 2.0 must be installed">
Installed OR NETFRAMEWORK20
</Condition>
<Property Id="VERSIONIE">
<RegistrySearch Id="RegSearchIeVersion" Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer" Name="Version" Type="raw" Win64="no"/>
</Property>
<Condition Message="[ProductName] needs at least Internet Explorer 5">NOT ((VERSIONIE<<"1") OR (VERSIONIE<<"2") OR (VERSIONIE<<"3") OR (VERSIONIE<<"4"))</Condition>
<Condition Message="[ProductName] requires a Windows NT based OS (Windows 2000 or later, specifically).">VersionNT</Condition>
<Condition Message="[ProductName] requires Windows 2000 or later."><![CDATA[VersionNT >= 500]]></Condition>
<!-- Execute Sequencing -->
<AdminExecuteSequence />
<InstallExecuteSequence>
<AppSearch Sequence="1"></AppSearch>
<LaunchConditions After="AppSearch"/>
<RemoveExistingProducts After="InstallValidate"><![CDATA[PREVIOUSVERSIONSINSTALLED OR (NOT NEWERVERSIONDETECTED)]]></RemoveExistingProducts>
</InstallExecuteSequence>
<Media Id="1" Cabinet="XRefresh.cab" EmbedCab="yes" CompressionLevel="high"/>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLLOCATION" Name="XRefresh">
<!-- tuto sekci je nutne updatovat pri kazde zmene self registrace v rgs !!! => pouzij utitlitu heat.exe -->
<!-- AddonBinary (XRefreshAddon.dll) -->
<Component Id="AddonBinary" Guid="b05f0bfe-8eab-4703-bac0-98daf35d41f0">
<File Id="XRefreshAddon.dll" Name="XRefreshAddon.dll" DiskId="1" Vital="yes" Source="XRefreshAddon.dll">
<TypeLib Id="{753A4046-6863-42AC-9C85-24468A489720}" Description="XRefresh 1.0 Type Library" Language="0" MajorVersion="1" MinorVersion="0">
<AppId Id="{05B6ED58-9CB1-4270-82F7-30CCD8C4F8F0}" Description="XRefresh">
<Class Id="{0A839FF4-F7CA-41E0-8EA1-F5E2913139D0}" Context="InprocServer32" Description="XRefresh Panel" ThreadingModel="apartment" Programmable="yes">
<ProgId Id="XRefresh.XRefreshHelperbar.1" Description="XRefresh Panel">
<ProgId Id="XRefresh.XRefreshHelperbar" Description="XRefresh Panel" />
</ProgId>
</Class>
<Class Id="{551012C5-352D-48D9-9E29-E90F293D19F0}" Context="InprocServer32" Description="XRefresh Toolbar" ThreadingModel="apartment" Programmable="yes">
<ProgId Id="XRefresh.XRefreshToolbar.1" Description="XRefresh Toolbar">
<ProgId Id="XRefresh.XRefreshToolbar" Description="XRefresh Toolbar" />
</ProgId>
</Class>
<Class Id="{8774C0B1-6697-43B8-8D0E-6179F48838B0}" Context="InprocServer32" Description="XRefresh BHO" ThreadingModel="apartment" Programmable="yes">
<ProgId Id="XRefresh.XRefreshBHO.1" Description="XRefresh BHO">
<ProgId Id="XRefresh.XRefreshBHO" Description="XRefresh BHO" />
</ProgId>
</Class>
</AppId>
<Interface Id="{A8FE27A6-2251-4A4B-8EAF-E5E2ABA4DC80}" Name="IXRefreshHelperbar" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{36B7E346-E901-4EE9-B888-696D4C0BBF80}" Name="IXRefreshToolbar" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{50AE34F6-670A-4807-B11A-8CA4C9136B10}" Name="IXRefreshBHO" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
</TypeLib>
</File>
<!-- steps from XRefresh.rgs -->
<RegistryKey Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\[XRefreshBHO_CLSID]" Action="createAndRemoveOnUninstall" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\[XRefreshBHO_CLSID]" Value="[XRefreshHelperbar_CLSID]" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\[XRefreshBHO_CLSID]" Name="NoExplorer" Value="1" Type="integer" Action="write" />
<RegistryKey Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer\Toolbar" Action="createAndRemoveOnUninstall" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer\Toolbar" Name="[XRefreshToolbar_CLSID]" Value="XRefresh Toolbar" Type="string" Action="write" />
<RegistryKey Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer\Explorer Bars\[XRefreshHelperbar_CLSID]" Action="createAndRemoveOnUninstall" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer\Explorer Bars\[XRefreshHelperbar_CLSID]" Value="XRefresh Panel" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer\Explorer Bars\[XRefreshHelperbar_CLSID]" Name="BarSize" Value="4100000000000000" Type="binary" Action="write" />
<RegistryKey Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer\Extensions\[XRefreshBHO_CLSID]" Action="createAndRemoveOnUninstall" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer\Extensions\[XRefreshBHO_CLSID]" Name="BandCLSID" Value="[XRefreshHelperbar_CLSID]" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer\Extensions\[XRefreshBHO_CLSID]" Name="ButtonText" Value="XRefresh" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer\Extensions\[XRefreshBHO_CLSID]" Name="CLSID" Value="{E0DD6CAB-2D10-11D2-8F1A-0000F87ABD16}" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer\Extensions\[XRefreshBHO_CLSID]" Name="Default Visible" Value="Yes" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer\Extensions\[XRefreshBHO_CLSID]" Name="HotIcon" Value="[INSTALLLOCATION]XRefreshAddon.dll,214" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer\Extensions\[XRefreshBHO_CLSID]" Name="Icon" Value="[INSTALLLOCATION]XRefreshAddon.dll,214" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer\Extensions\[XRefreshBHO_CLSID]" Name="MenuStatusBar" Value="XRefresh Panel" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Internet Explorer\Extensions\[XRefreshBHO_CLSID]" Name="MenuText" Value="XRefresh" Type="string" Action="write" />
<!-- steps from XRefreshHelperbar.rgs, which where not satisfied by typelib command -->
<RegistryValue Root="HKCR" Key="CLSID\[XRefreshHelperbar_CLSID]" Name="MenuText" Value="XRefresh Panel" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\[XRefreshHelperbar_CLSID]" Name="HelpText" Value="Opens XRefresh Panel" Type="string" Action="write" />
<RegistryKey Root="HKCR" Key="CLSID\[XRefreshHelperbar_CLSID]\Implemented Categories\{00021494-0000-0000-C000-000000000046}" Action="createAndRemoveOnUninstall" />
</Component>
<!-- Server Settings (registry) -->
<Component Id="ServerSettings" Guid="f16ac6bb-a125-4a11-9fe0-dabe741d2230">
<RegistryKey Root="HKCU" Key="Software\XRefresh" Action="create" />
<RegistryValue Root="HKCU" Key="Software\XRefresh" Value="[INSTALLLOCATION]" Type="string" Action="write" />
</Component>
<!-- Addon Settings (registry) -->
<Component Id="AddonSettings" Guid="a16ac6cc-a325-4a11-9fe0-dabe741d2230">
<RegistryKey Root="HKCU" Key="Software\XRefresh\IEAddon" Action="create" />
<RegistryValue Root="HKCU" Key="Software\XRefresh\IEAddon" Name="Host" Value="localhost" Type="string" Action="write" />
<RegistryValue Root="HKCU" Key="Software\XRefresh\IEAddon" Name="Port" Value="41258" Type="integer" Action="write" />
<RegistryValue Root="HKCU" Key="Software\XRefresh\IEAddon" Name="Range" Value="16" Type="integer" Action="write" />
</Component>
<Component Id="XRefreshFiles" Guid="b13ac6cc-a325-4a11-1fe8-dabe741d2230">
<File Id="license.txt" Name="license.txt" DiskId="1" Source="../license.txt" Vital="no" />
<File Id="readme.md" Name="readme.md" DiskId="1" Source="../readme.md" Vital="no"/>
<File Id="website.url" Name="website.url" DiskId="1" Source="../website.url" Vital="no"/>
</Component>
<Component Id="ServerBinary" Guid="b22ac6cc-a325-4a11-1fe8-dabe741d2230">
<File Id="XRefresh.exe" Name="XRefresh.exe" DiskId="1" Source="../bin/XRefresh.exe" Vital="yes">
<Shortcut Id="XRefreshEXE" Directory="IDProgramGroup" Name="XRefresh" Advertise="yes" Description="XRefresh Monitor executable" />
</File>
<File Id="Newtonsoft.Json.Net20.dll" Name="Newtonsoft.Json.Net20.dll" DiskId="1" Source="../bin/Newtonsoft.Json.Net20.dll" Vital="yes"/>
</Component>
</Directory>
</Directory>
<Directory Id='ProgramMenuFolder' Name='ProgramMenuFolder'>
<Directory Id='IDProgramGroup' Name='XRefresh'>
<Component Id='IDProgramGroup' Guid='b13ac6cc-a325-4a11-1fe8-dabe00002231'>
<CreateFolder/>
<RemoveFolder Id='IDProgramGroup' On='uninstall'/>
<RegistryValue Root='HKCU' Key='SOFTWARE\XRefresh'
Type='string' Value='XRefresh'
KeyPath='yes' />
<Shortcut Id="Readme" Directory="IDProgramGroup" Name="Readme" Advertise="no" Target="[INSTALLLOCATION]Readme.txt" Description="XRefresh Readme" />
<Shortcut Id="Help" Directory="IDProgramGroup" Name="Help" Advertise="no" Target="[INSTALLLOCATION]Help.html" Description="XRefresh Help Page" />
<Shortcut Id="History" Directory="IDProgramGroup" Name="History" Advertise="no" Target="[INSTALLLOCATION]History.txt" Description="XRefresh History" />
<Shortcut Id="Website" Directory="IDProgramGroup" Name="Website" Advertise="no" Target="[INSTALLLOCATION]Website.url" Description="XRefresh Website" />
</Component>
</Directory>
</Directory>
</Directory>
<CustomAction
Id="LaunchMonitor"
Directory="INSTALLLOCATION"
ExeCommand="[INSTALLLOCATION]XRefresh.exe"
Return="asyncNoWait" />
<CustomAction
Id="OpenHelp"
Directory="INSTALLLOCATION"
ExeCommand="[INSTALLLOCATION]XRefresh.exe"
Return="asyncNoWait" />
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX">1</Property>
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch XRefresh Monitor" />
<UI>
<UIRef Id="WixUI_Mondo" />
<Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="LaunchMonitor" Order="1">NOT Installed AND WIXUI_EXITDIALOGOPTIONALCHECKBOX</Publish>
</UI>
<Feature Id="Server"
Title="XRefresh Monitor"
Absent="allow"
Level="1"
Display="expand"
Description="XRefresh filesystem Monitor. This is little traybar application watching for changes in your web projects."
ConfigurableDirectory="INSTALLLOCATION" >
<ComponentRef Id="ServerBinary" />
<ComponentRef Id="IDProgramGroup" />
<ComponentRef Id="ServerSettings" />
<ComponentRef Id="XRefreshFiles" />
</Feature>
<Feature Id="Addon"
Title="Addon for Internet Explorer"
Absent="allow"
Level="1"
Display="expand"
Description="Addon for Internet Explorer. This tool is able to refresh the browser when requested by XRefresh Monitor."
ConfigurableDirectory="INSTALLLOCATION" >
<ComponentRef Id="AddonBinary" />
<ComponentRef Id="IDProgramGroup" />
<ComponentRef Id="AddonSettings" />
<ComponentRef Id="XRefreshFiles" />
</Feature>
<UIRef Id="WixUI_Mondo" />
<UIRef Id="WixUI_ErrorProgressText" />
<Property Id='ARPCONTACT'>[email protected]</Property>
<Property Id='ARPHELPLINK'>http://xrefresh.binaryage.com</Property>
<Property Id='ARPURLINFOABOUT'>http://xrefresh.binaryage.com</Property>
<Property Id='ARPURLUPDATEINFO'>http://xrefresh.binaryage.com</Property>
<Property Id='ARPSIZE'>800</Property>
<Property Id='ARPPRODUCTICON'>XRefreshIcon</Property>
<Icon Id="XRefreshIcon" SourceFile="../bin/XRefresh.exe" />
</Product>
</Wix>