Revision 349a2d0f

b/trunk/NetSparkle/NetSparkle.cs
1 1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
using System.Text;
5 2
using System.ComponentModel;
3
using System.Reflection;
6 4
using System.Threading;
7 5
using System.Net;
8
using System.Windows;
9 6
using System.Windows.Forms;
10 7
using System.Drawing;
11
using System.Runtime.InteropServices;
12
using System.Management;
13
using System.Diagnostics;
14 8
using System.Security.Cryptography.X509Certificates;
15 9
using System.Net.Security;
10
using log4net;
16 11
using Point = System.Drawing.Point;
17 12

  
18 13
namespace AppLimit.NetSparkle
......
52 47

  
53 48
    public class Sparkle : IDisposable
54 49
    {
50
        private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
51

  
55 52
        private BackgroundWorker _worker = new BackgroundWorker();
56 53

  
57 54
        private String _AppCastUrl;
......
474 471
        /// <param name="message"></param>
475 472
        public void ReportDiagnosticMessage(String message)
476 473
        {
474
            Log.Info(message);
477 475
            if (_DiagnosticWindow.InvokeRequired)
478 476
            {
479 477
                _DiagnosticWindow.Invoke(new Action<String>(ReportDiagnosticMessage), message);                
b/trunk/NetSparkle/NetSparkleDownloadProgress.Designer.cs
39 39
            // 
40 40
            // lblHeader
41 41
            // 
42
            this.lblHeader.AccessibleDescription = null;
43
            this.lblHeader.AccessibleName = null;
44 42
            resources.ApplyResources(this.lblHeader, "lblHeader");
45 43
            this.lblHeader.Name = "lblHeader";
46 44
            // 
47 45
            // progressDownload
48 46
            // 
49
            this.progressDownload.AccessibleDescription = null;
50
            this.progressDownload.AccessibleName = null;
51 47
            resources.ApplyResources(this.progressDownload, "progressDownload");
52
            this.progressDownload.BackgroundImage = null;
53
            this.progressDownload.Font = null;
54 48
            this.progressDownload.Name = "progressDownload";
55 49
            // 
56 50
            // btnInstallAndReLaunch
57 51
            // 
58
            this.btnInstallAndReLaunch.AccessibleDescription = null;
59
            this.btnInstallAndReLaunch.AccessibleName = null;
60 52
            resources.ApplyResources(this.btnInstallAndReLaunch, "btnInstallAndReLaunch");
61
            this.btnInstallAndReLaunch.BackgroundImage = null;
62
            this.btnInstallAndReLaunch.Font = null;
63 53
            this.btnInstallAndReLaunch.Name = "btnInstallAndReLaunch";
64 54
            this.btnInstallAndReLaunch.UseVisualStyleBackColor = true;
65 55
            this.btnInstallAndReLaunch.Click += new System.EventHandler(this.btnInstallAndReLaunch_Click);
66 56
            // 
67 57
            // lblSecurityHint
68 58
            // 
69
            this.lblSecurityHint.AccessibleDescription = null;
70
            this.lblSecurityHint.AccessibleName = null;
71 59
            resources.ApplyResources(this.lblSecurityHint, "lblSecurityHint");
72 60
            this.lblSecurityHint.Name = "lblSecurityHint";
73 61
            // 
74 62
            // imgAppIcon
75 63
            // 
76
            this.imgAppIcon.AccessibleDescription = null;
77
            this.imgAppIcon.AccessibleName = null;
78
            resources.ApplyResources(this.imgAppIcon, "imgAppIcon");
79
            this.imgAppIcon.BackgroundImage = null;
80
            this.imgAppIcon.Font = null;
81 64
            this.imgAppIcon.Image = global::AppLimit.NetSparkle.Properties.Resources.software_update_available1;
82
            this.imgAppIcon.ImageLocation = null;
65
            resources.ApplyResources(this.imgAppIcon, "imgAppIcon");
83 66
            this.imgAppIcon.Name = "imgAppIcon";
84 67
            this.imgAppIcon.TabStop = false;
85 68
            // 
86 69
            // NetSparkleDownloadProgress
87 70
            // 
88
            this.AccessibleDescription = null;
89
            this.AccessibleName = null;
90 71
            resources.ApplyResources(this, "$this");
91 72
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
92 73
            this.BackColor = System.Drawing.SystemColors.Control;
93
            this.BackgroundImage = null;
94 74
            this.Controls.Add(this.lblSecurityHint);
95 75
            this.Controls.Add(this.btnInstallAndReLaunch);
96 76
            this.Controls.Add(this.progressDownload);
97 77
            this.Controls.Add(this.lblHeader);
98 78
            this.Controls.Add(this.imgAppIcon);
99
            this.Font = null;
100 79
            this.Name = "NetSparkleDownloadProgress";
101 80
            this.ShowInTaskbar = false;
102 81
            this.TopMost = true;
b/trunk/NetSparkle/NetSparkleDownloadProgress.cs
79 79
            {
80 80
                _sparkle.ReportDiagnosticMessage("No DSA check needed");
81 81
            }
82
            else
82
            /*else
83 83
            {
84 84
                Boolean bDSAOk = false;
85 85

  
......
115 115
                lblSecurityHint.Visible = true;
116 116
                BackColor = Color.Tomato;
117 117
        }
118
            }
118
            }*/
119 119
               
120 120
            // Check the unattended mode
121 121
            if (_unattend)
......
134 134
            String workingDir = Environment.CurrentDirectory;
135 135

  
136 136
            // generate the batch file path
137
            
137 138
            String cmd = Environment.ExpandEnvironmentVariables("%temp%\\" + Guid.NewGuid() + ".cmd");
138 139
            String installerCMD;
139 140

  
140 141
            // get the file type
141
            if (Path.GetExtension(_tempName).ToLower().Equals(".exe"))
142
            {
143
                // build the command line 
144
                installerCMD = _tempName;
145
            }
146
            else if (Path.GetExtension(_tempName).ToLower().Equals(".msi"))
147
            {                
148
                // buid the command line
149
                installerCMD = "msiexec /i \"" + _tempName + "\"";                
150
            }
151
            else
142
            var extension = Path.GetExtension(_tempName).ToLower();
143
            switch (extension)
152 144
            {
153
                MessageBox.Show("Updater not supported, please execute " + _tempName + " manually", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
154
                Environment.Exit(-1);
155
                return;
145
                case ".exe":
146
                    installerCMD = _tempName;
147
                    break;
148
                case ".msi":
149
                    installerCMD = String.Format("msiexec /i \"{0}\"",_tempName);
150
                    break;
151
                default:
152
                    MessageBox.Show("Updater not supported, please execute " + _tempName + " manually", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
153
                    Environment.Exit(-1);
154
                    return;
156 155
            }
157 156

  
158 157
            // generate the batch file                
159 158
            _sparkle.ReportDiagnosticMessage("Generating MSI batch in " + Path.GetFullPath(cmd));
160 159

  
161
            StreamWriter write = new StreamWriter(cmd);
162
            write.WriteLine(installerCMD);
163
            write.WriteLine("cd " + workingDir);
164
            write.WriteLine(cmdLine);
165
            write.Close();
160
            using (var write = new StreamWriter(cmd))
161
            {
162
                write.WriteLine(installerCMD);
163
                write.WriteLine("cd " + workingDir);
164
                write.WriteLine(cmdLine);
165
                write.Close();
166
            }
166 167

  
167 168
            // report
168 169
            _sparkle.ReportDiagnosticMessage("Going to execute batch: " + cmd);
169 170

  
170 171
            // start the installer helper
171
            Process process = new Process();
172
            var process = new Process();
172 173
            process.StartInfo.FileName = cmd;
173
            process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
174
            process.Start();
175
            
174
            process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;                        
175
            process.Start();                        
176 176

  
177 177
            // quit the app
178 178
            Environment.Exit(0);
b/trunk/NetSparkle/NetSparkleDownloadProgress.resx
112 112
    <value>2.0</value>
113 113
  </resheader>
114 114
  <resheader name="reader">
115
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
115
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
116 116
  </resheader>
117 117
  <resheader name="writer">
118
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
118
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119 119
  </resheader>
120
  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
121
  <data name="lblSecurityHint.Font" type="System.Drawing.Font, System.Drawing">
122
    <value>Microsoft Sans Serif, 8.25pt, style=Bold</value>
120
  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
121
  <data name="lblHeader.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
122
    <value>Top, Left, Right</value>
123 123
  </data>
124
  <data name="progressDownload.Size" type="System.Drawing.Size, System.Drawing">
125
    <value>287, 23</value>
124
  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
125
  <data name="lblHeader.Font" type="System.Drawing.Font, System.Drawing">
126
    <value>Segoe UI, 9.75pt, style=Bold</value>
127
  </data>
128
  <data name="lblHeader.Location" type="System.Drawing.Point, System.Drawing">
129
    <value>66, 12</value>
126 130
  </data>
127 131
  <data name="lblHeader.Size" type="System.Drawing.Size, System.Drawing">
128
    <value>301, 22</value>
132
    <value>432, 22</value>
129 133
  </data>
130
  <data name="&gt;&gt;imgAppIcon.Name" xml:space="preserve">
131
    <value>imgAppIcon</value>
134
  <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
135
  <data name="lblHeader.TabIndex" type="System.Int32, mscorlib">
136
    <value>8</value>
132 137
  </data>
133
  <data name="lblSecurityHint.Size" type="System.Drawing.Size, System.Drawing">
134
    <value>290, 34</value>
138
  <data name="lblHeader.Text" xml:space="preserve">
139
    <value>Downloading APP</value>
135 140
  </data>
136
  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
137
  <data name="imgAppIcon.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
138
    <value>AutoSize</value>
141
  <data name="&gt;&gt;lblHeader.Name" xml:space="preserve">
142
    <value>lblHeader</value>
139 143
  </data>
140 144
  <data name="&gt;&gt;lblHeader.Type" xml:space="preserve">
141
    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
145
    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
146
  </data>
147
  <data name="&gt;&gt;lblHeader.Parent" xml:space="preserve">
148
    <value>$this</value>
149
  </data>
150
  <data name="&gt;&gt;lblHeader.ZOrder" xml:space="preserve">
151
    <value>3</value>
142 152
  </data>
143 153
  <data name="progressDownload.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
144 154
    <value>Top, Left, Right</value>
145 155
  </data>
146
  <data name="&gt;&gt;btnInstallAndReLaunch.Parent" xml:space="preserve">
156
  <data name="progressDownload.Location" type="System.Drawing.Point, System.Drawing">
157
    <value>69, 37</value>
158
  </data>
159
  <data name="progressDownload.Size" type="System.Drawing.Size, System.Drawing">
160
    <value>418, 23</value>
161
  </data>
162
  <data name="progressDownload.TabIndex" type="System.Int32, mscorlib">
163
    <value>9</value>
164
  </data>
165
  <data name="&gt;&gt;progressDownload.Name" xml:space="preserve">
166
    <value>progressDownload</value>
167
  </data>
168
  <data name="&gt;&gt;progressDownload.Type" xml:space="preserve">
169
    <value>System.Windows.Forms.ProgressBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
170
  </data>
171
  <data name="&gt;&gt;progressDownload.Parent" xml:space="preserve">
147 172
    <value>$this</value>
148 173
  </data>
149
  <data name="$this.Text" xml:space="preserve">
150
    <value>Software Download</value>
174
  <data name="&gt;&gt;progressDownload.ZOrder" xml:space="preserve">
175
    <value>2</value>
151 176
  </data>
152
  <data name="&gt;&gt;imgAppIcon.Parent" xml:space="preserve">
177
  <data name="btnInstallAndReLaunch.Location" type="System.Drawing.Point, System.Drawing">
178
    <value>199, 37</value>
179
  </data>
180
  <data name="btnInstallAndReLaunch.Size" type="System.Drawing.Size, System.Drawing">
181
    <value>155, 23</value>
182
  </data>
183
  <data name="btnInstallAndReLaunch.TabIndex" type="System.Int32, mscorlib">
184
    <value>10</value>
185
  </data>
186
  <data name="btnInstallAndReLaunch.Text" xml:space="preserve">
187
    <value>Install and Relaunch</value>
188
  </data>
189
  <data name="&gt;&gt;btnInstallAndReLaunch.Name" xml:space="preserve">
190
    <value>btnInstallAndReLaunch</value>
191
  </data>
192
  <data name="&gt;&gt;btnInstallAndReLaunch.Type" xml:space="preserve">
193
    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
194
  </data>
195
  <data name="&gt;&gt;btnInstallAndReLaunch.Parent" xml:space="preserve">
153 196
    <value>$this</value>
154 197
  </data>
198
  <data name="&gt;&gt;btnInstallAndReLaunch.ZOrder" xml:space="preserve">
199
    <value>1</value>
200
  </data>
201
  <data name="lblSecurityHint.Font" type="System.Drawing.Font, System.Drawing">
202
    <value>Microsoft Sans Serif, 8.25pt, style=Bold</value>
203
  </data>
204
  <data name="lblSecurityHint.Location" type="System.Drawing.Point, System.Drawing">
205
    <value>66, 63</value>
206
  </data>
207
  <data name="lblSecurityHint.Size" type="System.Drawing.Size, System.Drawing">
208
    <value>421, 34</value>
209
  </data>
210
  <data name="lblSecurityHint.TabIndex" type="System.Int32, mscorlib">
211
    <value>11</value>
212
  </data>
213
  <data name="lblSecurityHint.Text" xml:space="preserve">
214
    <value>The update was affected by not verified changes, it could be unsafe to install it!</value>
215
  </data>
216
  <data name="lblSecurityHint.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
217
    <value>MiddleCenter</value>
218
  </data>
219
  <data name="&gt;&gt;lblSecurityHint.Name" xml:space="preserve">
220
    <value>lblSecurityHint</value>
221
  </data>
222
  <data name="&gt;&gt;lblSecurityHint.Type" xml:space="preserve">
223
    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
224
  </data>
155 225
  <data name="&gt;&gt;lblSecurityHint.Parent" xml:space="preserve">
156 226
    <value>$this</value>
157 227
  </data>
158
  <data name="&gt;&gt;lblHeader.Name" xml:space="preserve">
159
    <value>lblHeader</value>
228
  <data name="&gt;&gt;lblSecurityHint.ZOrder" xml:space="preserve">
229
    <value>0</value>
160 230
  </data>
161 231
  <data name="imgAppIcon.Location" type="System.Drawing.Point, System.Drawing">
162 232
    <value>12, 12</value>
163 233
  </data>
234
  <data name="imgAppIcon.Size" type="System.Drawing.Size, System.Drawing">
235
    <value>48, 48</value>
236
  </data>
237
  <data name="imgAppIcon.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
238
    <value>AutoSize</value>
239
  </data>
240
  <data name="imgAppIcon.TabIndex" type="System.Int32, mscorlib">
241
    <value>6</value>
242
  </data>
243
  <data name="&gt;&gt;imgAppIcon.Name" xml:space="preserve">
244
    <value>imgAppIcon</value>
245
  </data>
164 246
  <data name="&gt;&gt;imgAppIcon.Type" xml:space="preserve">
165
    <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
247
    <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
166 248
  </data>
167
  <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
168
  <data name="lblHeader.TabIndex" type="System.Int32, mscorlib">
169
    <value>8</value>
249
  <data name="&gt;&gt;imgAppIcon.Parent" xml:space="preserve">
250
    <value>$this</value>
170 251
  </data>
171
  <data name="&gt;&gt;btnInstallAndReLaunch.Type" xml:space="preserve">
172
    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
252
  <data name="&gt;&gt;imgAppIcon.ZOrder" xml:space="preserve">
253
    <value>4</value>
173 254
  </data>
174
  <data name="&gt;&gt;progressDownload.Type" xml:space="preserve">
175
    <value>System.Windows.Forms.ProgressBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
255
  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
256
    <value>True</value>
257
  </metadata>
258
  <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
259
    <value>6, 13</value>
176 260
  </data>
177
  <data name="&gt;&gt;btnInstallAndReLaunch.Name" xml:space="preserve">
178
    <value>btnInstallAndReLaunch</value>
261
  <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
262
    <value>499, 99</value>
179 263
  </data>
180 264
  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
181 265
    <value>
......
362 446
        /////wAA
363 447
</value>
364 448
  </data>
365
  <data name="&gt;&gt;progressDownload.Name" xml:space="preserve">
366
    <value>progressDownload</value>
367
  </data>
368
  <data name="&gt;&gt;imgAppIcon.ZOrder" xml:space="preserve">
369
    <value>4</value>
370
  </data>
371
  <data name="progressDownload.Location" type="System.Drawing.Point, System.Drawing">
372
    <value>69, 37</value>
373
  </data>
374
  <data name="&gt;&gt;btnInstallAndReLaunch.ZOrder" xml:space="preserve">
375
    <value>1</value>
376
  </data>
377
  <data name="&gt;&gt;lblHeader.Parent" xml:space="preserve">
378
    <value>$this</value>
379
  </data>
380
  <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
381
    <value>368, 99</value>
382
  </data>
383
  <data name="&gt;&gt;$this.Type" xml:space="preserve">
384
    <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
385
  </data>
386
  <data name="btnInstallAndReLaunch.Size" type="System.Drawing.Size, System.Drawing">
387
    <value>155, 23</value>
388
  </data>
389
  <data name="&gt;&gt;progressDownload.ZOrder" xml:space="preserve">
390
    <value>2</value>
391
  </data>
392
  <data name="&gt;&gt;progressDownload.Parent" xml:space="preserve">
393
    <value>$this</value>
394
  </data>
395
  <data name="lblHeader.Location" type="System.Drawing.Point, System.Drawing">
396
    <value>66, 12</value>
397
  </data>
398
  <data name="&gt;&gt;lblSecurityHint.ZOrder" xml:space="preserve">
399
    <value>0</value>
400
  </data>
401
  <data name="btnInstallAndReLaunch.TabIndex" type="System.Int32, mscorlib">
402
    <value>10</value>
403
  </data>
404
  <data name="&gt;&gt;lblHeader.ZOrder" xml:space="preserve">
405
    <value>3</value>
406
  </data>
407
  <data name="progressDownload.TabIndex" type="System.Int32, mscorlib">
408
    <value>9</value>
409
  </data>
410
  <data name="&gt;&gt;lblSecurityHint.Type" xml:space="preserve">
411
    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
412
  </data>
413
  <data name="imgAppIcon.TabIndex" type="System.Int32, mscorlib">
414
    <value>6</value>
415
  </data>
416
  <data name="lblHeader.Font" type="System.Drawing.Font, System.Drawing">
417
    <value>Segoe UI, 9.75pt, style=Bold</value>
418
  </data>
419
  <data name="lblSecurityHint.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
420
    <value>MiddleCenter</value>
421
  </data>
422
  <data name="&gt;&gt;lblSecurityHint.Name" xml:space="preserve">
423
    <value>lblSecurityHint</value>
424
  </data>
425
  <data name="lblHeader.Text" xml:space="preserve">
426
    <value>Downloading APP</value>
427
  </data>
428 449
  <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
429 450
    <value>CenterScreen</value>
430 451
  </data>
431
  <data name="lblSecurityHint.Location" type="System.Drawing.Point, System.Drawing">
432
    <value>66, 63</value>
433
  </data>
434
  <data name="lblHeader.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
435
    <value>Top, Left, Right</value>
436
  </data>
437
  <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
438
    <value>6, 13</value>
439
  </data>
440
  <data name="btnInstallAndReLaunch.Location" type="System.Drawing.Point, System.Drawing">
441
    <value>131, 37</value>
442
  </data>
443
  <data name="lblSecurityHint.TabIndex" type="System.Int32, mscorlib">
444
    <value>11</value>
452
  <data name="$this.Text" xml:space="preserve">
453
    <value>Software Download</value>
445 454
  </data>
446 455
  <data name="&gt;&gt;$this.Name" xml:space="preserve">
447 456
    <value>NetSparkleDownloadProgress</value>
448 457
  </data>
449
  <data name="lblSecurityHint.Text" xml:space="preserve">
450
    <value>The update was affected by not verified changes, it could be unsafe to install it!</value>
451
  </data>
452
  <data name="imgAppIcon.Size" type="System.Drawing.Size, System.Drawing">
453
    <value>48, 48</value>
454
  </data>
455
  <data name="btnInstallAndReLaunch.Text" xml:space="preserve">
456
    <value>Install and Relaunch</value>
458
  <data name="&gt;&gt;$this.Type" xml:space="preserve">
459
    <value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
457 460
  </data>
458
  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
459
    <value>True</value>
460
  </metadata>
461 461
</root>
b/trunk/Pithos.Client.WPF/Properties/AssemblyInfo.cs
93 93
// You can specify all the values or you can default the Build and Revision Numbers 
94 94
// by using the '*' as shown below:
95 95
// [assembly: AssemblyVersion("1.0.*")]
96
[assembly: AssemblyVersion("0.7.20306.0")]
97
[assembly: AssemblyFileVersionAttribute("0.7.20306.0")]
96
[assembly: AssemblyVersion("0.7.20305.1")]
97
[assembly: AssemblyFileVersionAttribute("0.7.20305.1")]

Also available in: Unified diff