Browse Source

initial checkin

Rob Reynolds 7 years ago
commit
bc92c01b07
10 changed files with 2921 additions and 0 deletions
  1. 25 0
      .gitignore
  2. 202 0
      LICENSE.md
  3. 0 0
      README.md
  4. 0 0
      automatic/_output/README.md
  5. BIN
      icons/1password.png
  6. 0 0
      icons/README.md
  7. 0 0
      ketarin/README.md
  8. 0 0
      manual/README.md
  9. 29 0
      ops/ketarinupdate.cmd
  10. 2665 0
      setup/KetarinSettings.xml

+ 25 - 0
.gitignore

@@ -0,0 +1,25 @@
+*~
+*.bak
+*.cache
+*.nupkg
+*.old
+*.orig
+*.swp
+*.swo
+*.suo
+*.test
+*.work
+*.handover
+*.new
+*.exist
+*-orig.*
+Thumbs.db
+.DS_Store
+_ReSharper*
+*.resharper
+New folder*
+New Text Document*.txt
+obj
+*/working
+ketarin/soluto.xml
+*.stackdump

+ 202 - 0
LICENSE.md

@@ -0,0 +1,202 @@
+Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "{}"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright {yyyy} {name of copyright owner}
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+

+ 0 - 0
README.md


+ 0 - 0
automatic/_output/README.md


BIN
icons/1password.png


+ 0 - 0
icons/README.md


+ 0 - 0
ketarin/README.md


+ 0 - 0
manual/README.md


+ 29 - 0
ops/ketarinupdate.cmd

@@ -0,0 +1,29 @@
+@echo off
+
+SET DIR=%~dp0%
+
+For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c%%a%%b)
+For /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a%%b)
+
+echo Updating the github repo first
+pushd %DIR%
+call git add --all :/
+call git commit -m "updates prior to automatic run for %mydate%_%mytime%"
+::call git reset --hard HEAD
+call git fetch && git rebase origin/master
+call git push origin master
+popd
+
+:: /database="%DIR%\jobs.db"
+
+::import all the files
+FOR /f "tokens=*" %%F IN ('dir %DIR%..\ /b *.ketarin.xml') DO (
+	call ketarin.exe  /import="%DIR%..\%%F"
+	TIMEOUT /T 2
+)
+
+Echo Wait for all of those to finish importing...
+TIMEOUT /T 15
+
+echo Calling ketarin now the the repo has been updated
+call "Ketarin.exe" /silent /notify /log=C:\ProgramData\chocolateypackageupdater\ketarin.%mydate%_%mytime%.log

+ 2665 - 0
setup/KetarinSettings.xml

@@ -0,0 +1,2665 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Ketarin>
+  <Settings>
+    <dictionary>
+      <item>
+        <key>
+          <string>AuthorGuid</string>
+        </key>
+        <value>
+          <string>System.String:{75a093b7-da5f-493a-b8f0-22c278f874c1}</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>LastUpdateCheck</string>
+        </key>
+        <value>
+          <string>AAEAAAD/////AQAAAAAAAAAEAQAAAA9TeXN0ZW0uRGF0ZVRpbWUCAAAABXRpY2tzCGRhdGVEYXRhAAAJEOGhVC47mtII4aFULjua0ogL</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>MainForm/Size</string>
+        </key>
+        <value>
+          <string>System.Drawing.Size:2329,476</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>MainForm/Location</string>
+        </key>
+        <value>
+          <string>System.Drawing.Point:-6,1300</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>MainForm/WindowState</string>
+        </key>
+        <value>
+          <string>System.Int32:0</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Application:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Application:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:126</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Application:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:0</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Last updated:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Last updated:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:96</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Last updated:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:2</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Progress:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Progress:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:100</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Progress:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:4</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Target:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Target:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:152</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Target:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:5</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Category:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Category:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:80</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Category:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:15</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Status:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Status:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:79</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Status:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:6</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/LastSortColumn</string>
+        </key>
+        <value>
+          <string>System.String:Application</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/LastSortOrder</string>
+        </key>
+        <value>
+          <string>System.Int32:1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>Ketarin/ShowGroups</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>Ketarin/ShowStatusBar</string>
+        </key>
+        <value>
+          <string>System.Boolean:False</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>Ketarin/ShowLog</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>Ketarin/AutoScroll</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>PreUpdateCommand</string>
+        </key>
+        <value>
+          <string>System.String:# Script version: 1.3.0.0
+#
+# Changelog
+#   evaluate custom variables rather than using variables' CachedContent
+#
+# Requires:
+#  chocolateypackageupdater
+#  &gt;=ketarin-1.8.5
+#
+# To configure Ketarin: 
+#   1. Copy this file
+#   2. Navigate to: Ketarin &gt;&gt; File &gt;&gt; Settings &gt;&gt; Commands tab
+#   3a. &gt;&gt; Before updating an application
+#   3b. &gt;&gt; Command &gt;&gt; Powershell script
+#   3c. Remove any existing text and paste this file into text area
+
+# Package variables to be checked for content
+$vars = "version","url","url64","checksum","checksumx64","packageGuid","nopush"
+$hash = @{}
+
+# Build hash using $vars for $hash.keys and corresponding content, if any, to $hash.values
+foreach ($var in $vars) {
+  if ($app.variables.ContainsKey($var)) {
+    #$hash[$var] = $app.variables.item($var).cachedcontent
+    $hash[$var] = $app.variables.ReplaceAllInString("{$var}")
+  } else {
+    $hash[$var] = "{$var}"
+  }
+  Write-Host "`$hash[$var] is: $($hash[$var])"
+}
+
+Write-Host @"
+Running: 
+chocopkgup $($hash["nopush"]) ``
+           --packagename=$app ``
+           --version=`"$($hash["version"])`" ``
+           --url=`"$($hash["url"])`" ``
+           --urlx64=`"$($hash["url64"])`" ``
+           --checksum=`"$($hash["checksum"])`" ``
+           --c64=`"$($hash["checksumx64"])`" ``
+           --pg=`"$($hash["packageguid"])`" ``
+           --debug
+"@
+
+# Using corresponding hash values of keys from $vars, set parameters of 
+# https://chocolatey.org/packages/chocolateypackageupdater
+chocopkgup $hash["nopush"] `
+           --packagename=$app `
+           --version="$($hash["version"])" `
+           --url="$($hash["url"])" `
+           --urlx64="$($hash["url64"])" `
+           --checksum="$($hash["checksum"])" `
+           --c64="$($hash["checksumx64"])" `
+           --pg="$($hash["packageguid"])" `
+           --debug</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>PreUpdateCommandType</string>
+        </key>
+        <value>
+          <string>System.String:PowerShell</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>CustomColumns</string>
+        </key>
+        <value>
+          <string>System.String:&lt;?xml version="1.0" encoding="utf-16"?&gt;
+&lt;dictionary&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;version&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{version}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;filesize&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{filesize:formatfilesize}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;host&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{url:regex:(?&amp;lt;=//)([\w-]+\.)*(?=[\w-]+\.[\w-]+(?=/))}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;packageGuid&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{packageGuid}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;fileDate&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{f:yyyy}-{f:MM}-{f:dd} {f:HH}:{f:mm}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;fixedUrl&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{property:FixedDownloadUrl:regex:(?&amp;lt;=//).*}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;referer&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{property:HttpReferer}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;user-agent&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{property:UserAgent}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;delPrevFile&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{property:DeletePreviousFile:multireplace:,:True,False:X,}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;varChgInd&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{property:VariableChangeIndicator}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;cscript&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{cscript}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;enabled&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{property:Enabled}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;nopush&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{nopush}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;domain&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{url:regex:(?&amp;lt;=//[\w-]+\.)*[\w-]+\.[\w-]+(?=/)}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;checksum64file&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{checksum64file}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;url64&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{url64}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;hashInternal&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{hash}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;hashType&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{property:HashType:replace:None:}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;proto&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{url:regex:.*?(?=.//)}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;bytes&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{filesize}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;hashExternal&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{checksum}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+  &lt;item&gt;
+    &lt;key&gt;
+      &lt;string&gt;checksum64&lt;/string&gt;
+    &lt;/key&gt;
+    &lt;value&gt;
+      &lt;string&gt;{checksumx64}&lt;/string&gt;
+    &lt;/value&gt;
+  &lt;/item&gt;
+&lt;/dictionary&gt;</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>CustomColumn</string>
+        </key>
+        <value>
+          <string p6:nil="true" xmlns:p6="http://www.w3.org/2001/XMLSchema-instance" />
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>CustomColumn2</string>
+        </key>
+        <value>
+          <string p6:nil="true" xmlns:p6="http://www.w3.org/2001/XMLSchema-instance" />
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>UpdateAtStartup</string>
+        </key>
+        <value>
+          <string>System.Boolean:False</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>AvoidFileHippoBeta</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>ConnectionTimeout</string>
+        </key>
+        <value>
+          <string>AAEAAAD/////AQAAAAAAAAAEAQAAAA5TeXN0ZW0uRGVjaW1hbAQAAAAFZmxhZ3MCaGkCbG8DbWlkAAAAAAgICAgAAAAAAAAAADwAAAAAAAAACw==</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>ThreadCount</string>
+        </key>
+        <value>
+          <string>System.Int32:4</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>RetryCount</string>
+        </key>
+        <value>
+          <string>System.Int32:2</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>UpdateOnlineDatabase</string>
+        </key>
+        <value>
+          <string>System.Boolean:False</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>MinimizeToTray</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>CreateDatabaseBackups</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>OpenWebsiteOnDoubleClick</string>
+        </key>
+        <value>
+          <string>System.Boolean:False</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>ProxyPort</string>
+        </key>
+        <value>
+          <string>AAEAAAD/////AQAAAAAAAAAEAQAAAA5TeXN0ZW0uRGVjaW1hbAQAAAAFZmxhZ3MCaGkCbG8DbWlkAAAAAAgICAgAAAAAAAAAALgiAAAAAAAACw==</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>ProxyServer</string>
+        </key>
+        <value>
+          <string>System.String:</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>ProxyUser</string>
+        </key>
+        <value>
+          <string>System.String:</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>ProxyPassword</string>
+        </key>
+        <value>
+          <string>System.String:</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Version:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Version:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:99</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Version:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>SetPlaceholderDialog/Size</string>
+        </key>
+        <value>
+          <string>System.Drawing.Size:397,147</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>SetPlaceholderDialog/Location</string>
+        </key>
+        <value>
+          <string>System.Drawing.Point:1118,929</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>SetPlaceholderDialog/WindowState</string>
+        </key>
+        <value>
+          <string>System.Int32:0</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>EditVariablesDialog/Size</string>
+        </key>
+        <value>
+          <string>System.Drawing.Size:1004,492</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>EditVariablesDialog/Location</string>
+        </key>
+        <value>
+          <string>System.Drawing.Point:-11,212</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>EditVariablesDialog/WindowState</string>
+        </key>
+        <value>
+          <string>System.Int32:0</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>ApplicationJobDialog/Size</string>
+        </key>
+        <value>
+          <string>System.Drawing.Size:507,507</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>ApplicationJobDialog/Location</string>
+        </key>
+        <value>
+          <string>System.Drawing.Point:173,12</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>ApplicationJobDialog/WindowState</string>
+        </key>
+        <value>
+          <string>System.Int32:0</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>LogDialog/Size</string>
+        </key>
+        <value>
+          <string>System.Drawing.Size:1825,423</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>LogDialog/Location</string>
+        </key>
+        <value>
+          <string>System.Drawing.Point:-7,747</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>LogDialog/WindowState</string>
+        </key>
+        <value>
+          <string>System.Int32:0</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>ErrorsDialog/Size</string>
+        </key>
+        <value>
+          <string>System.Drawing.Size:1096,965</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvErrors/Application:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvErrors/Application:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:98</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvErrors/Application:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:-1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvErrors/Error:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvErrors/Error:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:952</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvErrors/Error:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:-1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvErrors/LastSortColumn</string>
+        </key>
+        <value>
+          <string>System.String:Application</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvErrors/LastSortOrder</string>
+        </key>
+        <value>
+          <string>System.Int32:1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>ProgressDialog/Size</string>
+        </key>
+        <value>
+          <string>System.Drawing.Size:302,112</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>Hotkey: OpenWebsite</string>
+        </key>
+        <value>
+          <string>System.String:</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>Hotkey: Edit</string>
+        </key>
+        <value>
+          <string>System.String:</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>Hotkey: Update</string>
+        </key>
+        <value>
+          <string>System.String:</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>Hotkey: ForceDownload</string>
+        </key>
+        <value>
+          <string>System.String:</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>Hotkey: InstallSelected</string>
+        </key>
+        <value>
+          <string>System.String:</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>Hotkey: OpenFile</string>
+        </key>
+        <value>
+          <string>System.String:</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>Hotkey: OpenFolder</string>
+        </key>
+        <value>
+          <string>System.String:</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>Hotkey: CheckUpdate</string>
+        </key>
+        <value>
+          <string>System.String:</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>Hotkey: UpdateAndInstall</string>
+        </key>
+        <value>
+          <string>System.String:</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>InstallingApplicationsDialog/Size</string>
+        </key>
+        <value>
+          <string>System.Drawing.Size:406,250</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>InstallingApplicationsDialog/Location</string>
+        </key>
+        <value>
+          <string>System.Drawing.Point:164,724</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>InstallingApplicationsDialog/WindowState</string>
+        </key>
+        <value>
+          <string>System.Int32:0</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvLog/Time:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvLog/Time:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:55</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvLog/Time:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:-1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvLog/Message:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvLog/Message:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:310</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvLog/Message:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:-1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvLog/LastSortColumn</string>
+        </key>
+        <value>
+          <string>System.String:Time</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvLog/LastSortOrder</string>
+        </key>
+        <value>
+          <string>System.Int32:0</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>InstallingApplicationsDialog/Expanded</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>DefaultCommand</string>
+        </key>
+        <value>
+          <string>System.String:////////////////////////////////////////////////////////////////////////////////////////
+/// version 6.8.0.0
+/// 
+/// Changelog: Calc SHA256 sums
+/// Ticket: https://github.com/dtgm/chocolatey-packages/issues/196
+/// 
+
+// REQUIRES:
+// global vars: saveDir=corresponds to download location of installer file
+// app vars: nopush, checksum64file=corresponds to 64 bit install file
+// file vars: same as specified by chocopkgup
+
+// get package variable 'cscript'
+string varCScript = app.Variables.ReplaceAllInString("{cscript}");
+
+// determine whether we run this by checking cscript exists AND is 1 or 2
+if ((varCScript == "1") || (varCScript == "2")) {
+
+// ketarin variables we pass for this script to use
+string varAppname = app.Variables.ReplaceAllInString("{appname}");
+string varVersion = app.Variables.ReplaceAllInString("{version}");
+string varChocoPkgOutput = app.Variables.ReplaceAllInString("{chocoPkgOut}");
+string varChecksum = app.Variables.ReplaceAllInString("{checksum}");
+string varChecksumx64 = app.Variables.ReplaceAllInString("{checksumx64}");
+string varChecksum64File = app.Variables.ReplaceAllInString("{checksum64file}");
+// string varChecksum64basefile = app.Variables.ReplaceAllInString("{checksum64file:basefile}");
+string varChecksum64ext = app.Variables.ReplaceAllInString("{checksum64file:ext}");
+string varSaveDir = app.Variables.ReplaceAllInString("{saveDir}");
+
+// custom variables used in this script
+string saveFileName64 = String.Concat(varAppname, "_64_", varVersion, ".", varChecksum64ext);
+string savePath64 = Path.Combine(varSaveDir, saveFileName64);
+// equivalent to ketarin variable "{file}"
+string savePath = app.PreviousLocation;
+string pkgPath = Path.Combine(varChocoPkgOutput, varAppname, varVersion);
+string fileNameNuspec = String.Concat(varAppname, ".nuspec");
+string fileUriNuspec = Path.Combine(pkgPath, fileNameNuspec);
+string fileNameNupkg = String.Concat(varAppname, ".", varVersion, ".nupkg");
+string fileUriNupkg = Path.Combine(pkgPath, fileNameNupkg);
+
+/* DEBUG
+  MessageBox.Show(varSaveDir + System.Environment.NewLine
+                  + saveFileName64 + System.Environment.NewLine
+                  + savePath64);*/
+
+// do not re-push package if package already created
+DateTime today = DateTime.Today;
+DateTime pkgCreateDate = File.GetCreationTime(pkgPath);
+if (today &gt; pkgCreateDate) {
+	return;
+}
+
+// if package variable 'checksum' does not exist or is null
+if (varChecksum == "{checksum}") {
+  // calculate SHA256 from {url}  Note we are leveraging ketarin's downloaded copy
+  System.IO.FileStream fileSha = new System.IO.FileStream(savePath, System.IO.FileMode.Open);
+  System.Security.Cryptography.SHA256 sha256 = new System.Security.Cryptography.SHA256Managed();
+  byte[] retValSha = sha256.ComputeHash(fileSha);
+  fileSha.Close();
+
+  // build string from byte value
+  System.Text.StringBuilder sbSha = new System.Text.StringBuilder();
+  for (int i = 0; i &lt; retValSha.Length; i++) {
+    sbSha.Append(retValSha[i].ToString("x2"));
+  }
+  
+  // find $pkgPath -iname "*.nuspec" -o -iname "*.ps1" -exec sed -i 's/'$sbSha'/{checksum}/g' '{}' \;
+  string replaceChecksum = sbSha.ToString();
+  //MessageBox.Show(replaceChecksum);
+  List&lt;string&gt; fileList = new List&lt;string&gt;(Directory.GetFiles(pkgPath, "*.ps1", SearchOption.AllDirectories));
+  string[] filesNuspec = Directory.GetFiles(pkgPath, "*.nuspec", SearchOption.AllDirectories);
+  fileList.AddRange(filesNuspec);
+  string[] files = fileList.ToArray();
+  foreach (string file in files) {
+    try {
+      string contents = File.ReadAllText(file);
+      //MessageBox.Show(contents);
+      contents = contents.Replace("{checksum}", replaceChecksum);
+      //MessageBox.Show(contents);
+      // Make files writable
+      // File.SetAttributes(file, FileAttributes.Normal);
+      File.WriteAllText(file, contents);
+    } catch (Exception ex) {
+      Console.WriteLine(ex.Message);
+    }
+  }
+}
+
+// only get checksum if checksumx64 does NOT exist and 'checksum64file' DOES exists  
+if (varChecksumx64 == "{checksumx64}" &amp;&amp; varChecksum64File != "{checksum64file}") {
+  // TODO: verify and validate URI checksum64file points to a downloadable file
+  
+  // we must download the file to calculate checksum ... may as well save it
+  System.Net.WebClient webClient = new System.Net.WebClient();
+  webClient.DownloadFile(varChecksum64File, savePath64);
+
+  // calculate SHA256 from file of url pointed to by 'checksum64file'
+  System.IO.FileStream file64Sha = new System.IO.FileStream(savePath64, System.IO.FileMode.Open);
+  System.Security.Cryptography.SHA256 sha256_64 = new System.Security.Cryptography.SHA256Managed();
+  byte[] retVal64Sha = sha256_64.ComputeHash(file64Sha);
+  file64Sha.Close();
+
+  // build string from byte value
+  System.Text.StringBuilder sb64Sha = new System.Text.StringBuilder();
+  for (int i = 0; i &lt; retVal64Sha.Length; i++) {
+    sb64Sha.Append(retVal64Sha[i].ToString("x2"));
+  }
+  
+  // find $pkgPath -iname "*.nuspec" -o -iname "*.ps1" -exec sed -i 's/'$sb64Sha'/{checksumx64}/g' '{}' \;
+  // Note chocopkgup will strip 1 set of curly braces so {{checksum}} becomes {checksum}
+  string replace64Checksum = sb64Sha.ToString();
+  //MessageBox.Show(replace64Checksum);
+  List&lt;string&gt; fileList = new List&lt;string&gt;(Directory.GetFiles(pkgPath, "*.ps1", SearchOption.AllDirectories));
+  string[] filesNuspec = Directory.GetFiles(pkgPath, "*.nuspec", SearchOption.AllDirectories);
+  fileList.AddRange(filesNuspec);
+  string[] files = fileList.ToArray();
+  foreach (string file in files) {
+    try {
+      string contents = File.ReadAllText(file);
+      //MessageBox.Show(contents);
+      contents = contents.Replace("{checksumx64}", replace64Checksum);
+      //MessageBox.Show(contents);
+      File.WriteAllText(file, contents);
+    } catch (Exception ex) {
+      Console.WriteLine(ex.Message);
+    }
+  }
+}
+
+// attempt to fix chocopkgup failure when faced with letters in version variable
+// ...what was I thinking? no, seriously.
+/*
+int checkBeta = varVersion.Split('-').Length;
+if ( checkBeta == 2) {
+  string strPre = varVersion.Split('-')[1];
+  string strReplace = String.Concat(strPre, "&lt;/version&gt;");
+   string strCheck = String.Concat(".", DateTime.Now.ToString("yyyyMMdd"), "&lt;/version&gt;");
+   string[] fileNuspec = Directory.GetFiles(pkgPath, "*.nuspec", SearchOption.AllDirectories);
+  foreach (string file in fileNuspec) {
+    string contents = File.ReadAllText(file);
+    contents = contents.Replace(strCheck, strReplace);
+    File.WriteAllText(file, contents);
+  }
+}
+*/
+
+// delete existing nupkg made by chocopkgup; we leverage chocopkgup to create the structure/files in destination  
+System.Diagnostics.Process process1 = new System.Diagnostics.Process();
+System.Diagnostics.ProcessStartInfo proc1 = new System.Diagnostics.ProcessStartInfo();
+proc1.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
+proc1.UseShellExecute = true;
+proc1.WorkingDirectory = pkgPath;
+proc1.FileName = "cmd.exe";
+proc1.Arguments = "/c "+"del /f " + fileUriNupkg;
+process1.StartInfo = proc1;
+process1.Start();
+
+// create a new nupkg
+System.Diagnostics.Process process2 = new System.Diagnostics.Process();
+System.Diagnostics.ProcessStartInfo proc2 = new System.Diagnostics.ProcessStartInfo();
+proc2.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
+proc2.UseShellExecute = true;
+proc2.WorkingDirectory = pkgPath;
+proc2.FileName = "cmd.exe";
+proc2.Arguments = "/c "+"choco pack "+fileUriNuspec+" -d";
+process2.StartInfo = proc2;
+process2.Start();
+
+// push the nupkg
+if (varCScript == "2") {
+  System.Diagnostics.Process process3 = new System.Diagnostics.Process();
+  System.Diagnostics.ProcessStartInfo proc3 = new System.Diagnostics.ProcessStartInfo();
+  proc3.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
+  proc3.UseShellExecute = true;
+  proc3.WorkingDirectory = pkgPath;
+  proc3.FileName = "cmd.exe";
+  // find nupkg in pkgPath
+  string[] pushPkg = Directory.GetFiles(pkgPath, "*.nupkg", SearchOption.TopDirectoryOnly);
+  foreach (String file in pushPkg) {
+    proc3.Arguments = "/c "+"cpush " + file + " -d";
+  }
+  process3.StartInfo = proc3;
+  System.Threading.Thread.Sleep(2000);
+  process3.Start();
+}
+}</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>DefaultCommandType</string>
+        </key>
+        <value>
+          <string>System.String:CS</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>PostUpdateCommand</string>
+        </key>
+        <value>
+          <string>System.String:</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>PostUpdateCommandType</string>
+        </key>
+        <value>
+          <string>System.String:Batch</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>DefaultApplication</string>
+        </key>
+        <value>
+          <string>System.String:&lt;?xml version="1.0" encoding="utf-8"?&gt;
+&lt;Jobs&gt;
+  &lt;ApplicationJob xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
+    &lt;WebsiteUrl /&gt;
+    &lt;UserAgent /&gt;
+    &lt;UserNotes /&gt;
+    &lt;LastFileSize&gt;0&lt;/LastFileSize&gt;
+    &lt;LastFileDate xsi:nil="true" /&gt;
+    &lt;IgnoreFileInformation&gt;false&lt;/IgnoreFileInformation&gt;
+    &lt;DownloadBeta&gt;Default&lt;/DownloadBeta&gt;
+    
+    &lt;CheckForUpdatesOnly&gt;false&lt;/CheckForUpdatesOnly&gt;
+    &lt;VariableChangeIndicator /&gt;
+    &lt;HashVariable /&gt;
+    &lt;HashType&gt;None&lt;/HashType&gt;
+    &lt;CanBeShared&gt;true&lt;/CanBeShared&gt;
+    &lt;ShareApplication&gt;false&lt;/ShareApplication&gt;
+    &lt;ExclusiveDownload&gt;false&lt;/ExclusiveDownload&gt;
+    &lt;HttpReferer /&gt;
+    &lt;SetupInstructions /&gt;
+    &lt;Variables&gt;
+      &lt;item&gt;
+        &lt;key&gt;
+          &lt;string&gt;nopush&lt;/string&gt;
+        &lt;/key&gt;
+        &lt;value&gt;
+          &lt;UrlVariable&gt;
+            &lt;RegexRightToLeft&gt;false&lt;/RegexRightToLeft&gt;
+            &lt;VariableType&gt;Textual&lt;/VariableType&gt;
+            &lt;Regex /&gt;
+            &lt;TextualContent&gt;--nopush&lt;/TextualContent&gt;
+            &lt;Name&gt;nopush&lt;/Name&gt;
+          &lt;/UrlVariable&gt;
+        &lt;/value&gt;
+      &lt;/item&gt;
+      &lt;item&gt;
+        &lt;key&gt;
+          &lt;string&gt;version&lt;/string&gt;
+        &lt;/key&gt;
+        &lt;value&gt;
+          &lt;UrlVariable&gt;
+            &lt;RegexRightToLeft&gt;false&lt;/RegexRightToLeft&gt;
+            &lt;VariableType&gt;RegularExpression&lt;/VariableType&gt;
+            &lt;Regex&gt;Last program version.*?([\d\.]+)&lt;/Regex&gt;
+            &lt;Url&gt;x&lt;/Url&gt;
+            &lt;Name&gt;version&lt;/Name&gt;
+          &lt;/UrlVariable&gt;
+        &lt;/value&gt;
+      &lt;/item&gt;
+      &lt;item&gt;
+        &lt;key&gt;
+          &lt;string&gt;url&lt;/string&gt;
+        &lt;/key&gt;
+        &lt;value&gt;
+          &lt;UrlVariable&gt;
+            &lt;RegexRightToLeft&gt;false&lt;/RegexRightToLeft&gt;
+            &lt;VariableType&gt;Textual&lt;/VariableType&gt;
+            &lt;Regex /&gt;
+            &lt;TextualContent&gt;{getUrl}&lt;/TextualContent&gt;
+            &lt;Name&gt;url&lt;/Name&gt;
+          &lt;/UrlVariable&gt;
+        &lt;/value&gt;
+      &lt;/item&gt;
+      &lt;item&gt;
+        &lt;key&gt;
+          &lt;string&gt;url64&lt;/string&gt;
+        &lt;/key&gt;
+        &lt;value&gt;
+          &lt;UrlVariable&gt;
+            &lt;RegexRightToLeft&gt;false&lt;/RegexRightToLeft&gt;
+            &lt;VariableType&gt;Textual&lt;/VariableType&gt;
+            &lt;Regex /&gt;
+            &lt;TextualContent&gt;{getUrl64}&lt;/TextualContent&gt;
+            &lt;Name&gt;url64&lt;/Name&gt;
+          &lt;/UrlVariable&gt;
+        &lt;/value&gt;
+      &lt;/item&gt;
+      &lt;item&gt;
+        &lt;key&gt;
+          &lt;string&gt;getUrl&lt;/string&gt;
+        &lt;/key&gt;
+        &lt;value&gt;
+          &lt;UrlVariable&gt;
+            &lt;RegexRightToLeft&gt;false&lt;/RegexRightToLeft&gt;
+            &lt;VariableType&gt;RegularExpression&lt;/VariableType&gt;
+            &lt;Regex&gt;[^ "'&amp;lt;&amp;gt;\*]+\.exe&lt;/Regex&gt;
+            &lt;Url&gt;x&lt;/Url&gt;
+            &lt;Name&gt;getUrl&lt;/Name&gt;
+          &lt;/UrlVariable&gt;
+        &lt;/value&gt;
+      &lt;/item&gt;
+      &lt;item&gt;
+        &lt;key&gt;
+          &lt;string&gt;getUrl64&lt;/string&gt;
+        &lt;/key&gt;
+        &lt;value&gt;
+          &lt;UrlVariable&gt;
+            &lt;RegexRightToLeft&gt;false&lt;/RegexRightToLeft&gt;
+            &lt;VariableType&gt;RegularExpression&lt;/VariableType&gt;
+            &lt;Regex&gt;[^ "'&amp;lt;&amp;gt;\*]+\.exe&lt;/Regex&gt;
+            &lt;Url&gt;x&lt;/Url&gt;
+            &lt;Name&gt;getUrl64&lt;/Name&gt;
+          &lt;/UrlVariable&gt;
+        &lt;/value&gt;
+      &lt;/item&gt;
+      &lt;item&gt;
+        &lt;key&gt;
+          &lt;string&gt;checksum&lt;/string&gt;
+        &lt;/key&gt;
+        &lt;value&gt;
+          &lt;UrlVariable&gt;
+            &lt;RegexRightToLeft&gt;false&lt;/RegexRightToLeft&gt;
+            &lt;VariableType&gt;RegularExpression&lt;/VariableType&gt;
+            &lt;Regex&gt;[A-Fa-f0-9]{32}&lt;/Regex&gt;
+            &lt;Url&gt;md5&lt;/Url&gt;
+            &lt;TextualContent&gt;{checksum}&lt;/TextualContent&gt;
+            &lt;Name&gt;checksum&lt;/Name&gt;
+          &lt;/UrlVariable&gt;
+        &lt;/value&gt;
+      &lt;/item&gt;
+      &lt;item&gt;
+        &lt;key&gt;
+          &lt;string&gt;checksumx64&lt;/string&gt;
+        &lt;/key&gt;
+        &lt;value&gt;
+          &lt;UrlVariable&gt;
+            &lt;RegexRightToLeft&gt;false&lt;/RegexRightToLeft&gt;
+            &lt;VariableType&gt;RegularExpression&lt;/VariableType&gt;
+            &lt;Regex&gt;(?&amp;lt;=ResponseUri: )[^\r\n]+&lt;/Regex&gt;
+            &lt;Url&gt;{url64}&lt;/Url&gt;
+            &lt;TextualContent&gt;{checksum}&lt;/TextualContent&gt;
+            &lt;Name&gt;checksumx64&lt;/Name&gt;
+          &lt;/UrlVariable&gt;
+        &lt;/value&gt;
+      &lt;/item&gt;
+      &lt;item&gt;
+        &lt;key&gt;
+          &lt;string&gt;checksum64file&lt;/string&gt;
+        &lt;/key&gt;
+        &lt;value&gt;
+          &lt;UrlVariable&gt;
+            &lt;RegexRightToLeft&gt;false&lt;/RegexRightToLeft&gt;
+            &lt;VariableType&gt;Textual&lt;/VariableType&gt;
+            &lt;Regex /&gt;
+            &lt;TextualContent&gt;{url64}&lt;/TextualContent&gt;
+            &lt;Name&gt;checksum64file&lt;/Name&gt;
+          &lt;/UrlVariable&gt;
+        &lt;/value&gt;
+      &lt;/item&gt;
+      &lt;item&gt;
+        &lt;key&gt;
+          &lt;string&gt;cscript&lt;/string&gt;
+        &lt;/key&gt;
+        &lt;value&gt;
+          &lt;UrlVariable&gt;
+            &lt;RegexRightToLeft&gt;false&lt;/RegexRightToLeft&gt;
+            &lt;VariableType&gt;Textual&lt;/VariableType&gt;
+            &lt;Regex /&gt;
+            &lt;TextualContent&gt;0&lt;/TextualContent&gt;
+            &lt;Name&gt;cscript&lt;/Name&gt;
+          &lt;/UrlVariable&gt;
+        &lt;/value&gt;
+      &lt;/item&gt;
+    &lt;/Variables&gt;
+    &lt;ExecuteCommand /&gt;
+    &lt;ExecutePreCommand /&gt;
+    &lt;ExecuteCommandType&gt;Batch&lt;/ExecuteCommandType&gt;
+    &lt;ExecutePreCommandType&gt;Batch&lt;/ExecutePreCommandType&gt;
+    &lt;Category /&gt;
+    &lt;SourceType&gt;FixedUrl&lt;/SourceType&gt;
+    
+    &lt;DeletePreviousFile&gt;false&lt;/DeletePreviousFile&gt;
+    &lt;Enabled&gt;true&lt;/Enabled&gt;
+    &lt;FileHippoId /&gt;
+    
+    &lt;TargetPath&gt;{saveDir}\{appname}_{version}.{url:ext}&lt;/TargetPath&gt;
+    &lt;FixedDownloadUrl&gt;{url}&lt;/FixedDownloadUrl&gt;
+    &lt;Name&gt;x &lt;/Name&gt;
+  &lt;/ApplicationJob&gt;
+&lt;/Jobs&gt;</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/x:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/x:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:89</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/x:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:-1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Filesize:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Filesize:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:68</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Filesize:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:5</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/url:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/url:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:147</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/url:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:-1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/host:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/host:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:120</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/host:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:10</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/packageGuid:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/packageGuid:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:77</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/packageGuid:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:14</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/fileDate:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/fileDate:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:97</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/fileDate:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:3</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/fixedUrl:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/fixedUrl:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:96</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/fixedUrl:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:9</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/referer:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/referer:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:65</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/referer:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:13</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/User-Agent:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/User-Agent:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:80</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/User-Agent:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:8</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/DeletePreviousFile:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/DeletePreviousFile:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:41</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/DeletePreviousFile:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:20</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/VariableChangeIndicator:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/VariableChangeIndicator:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:55</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/VariableChangeIndicator:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:15</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/github:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/github:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:64</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/github:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:16</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/kde:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/kde:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:49</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/kde:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:17</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/cscript:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/cscript:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:32</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/cscript:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:22</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/enabled:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/enabled:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:60</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/enabled:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:26</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/nopush:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/nopush:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:60</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/nopush:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:23</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/domainname:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/domainname:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:166</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/domainname:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:10</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/domain:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/domain:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:141</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/domain:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:17</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/checksum64file:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/checksum64file:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:91</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/checksum64file:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:25</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Target2:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Target2:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:60</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/Target2:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:-1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/AppName:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/AppName:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:164</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/AppName:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:-1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/version:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/version:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:120</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/version:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/filesize:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/filesize:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:68</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/filesize:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:8</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/user-agent:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/user-agent:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:60</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/user-agent:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:12</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/delPrevFile:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/delPrevFile:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:60</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/delPrevFile:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:27</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/varChangeIndicator:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/varChangeIndicator:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:60</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/varChangeIndicator:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:20</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/varChgInd:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/varChgInd:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:82</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/varChgInd:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:16</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/url64:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/url64:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:60</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/url64:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:24</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/hash:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/hash:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:60</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/hash:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:24</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/hashType:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/hashType:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:60</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/hashType:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:18</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>ImportFromDatabaseDialog/Size</string>
+        </key>
+        <value>
+          <string>System.Drawing.Size:524,1596</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvApplications/Application name:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvApplications/Application name:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:291</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvApplications/Application name:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:-1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvApplications/Last updated:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvApplications/Last updated:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:130</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvApplications/Last updated:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:-1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvApplications/Uses:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvApplications/Uses:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:40</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvApplications/Uses:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:-1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvApplications/LastSortColumn</string>
+        </key>
+        <value>
+          <string>System.String:Application name</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvApplications/LastSortOrder</string>
+        </key>
+        <value>
+          <string>System.Int32:1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>ChooseAppsToInstallDialog/Size</string>
+        </key>
+        <value>
+          <string>System.Drawing.Size:618,433</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>ChooseAppsToInstallDialog/Location</string>
+        </key>
+        <value>
+          <string>System.Drawing.Point:675,637</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>ChooseAppsToInstallDialog/WindowState</string>
+        </key>
+        <value>
+          <string>System.Int32:0</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvApps/Name:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvApps/Name:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:263</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvApps/Name:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:-1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvApps/LastSortColumn</string>
+        </key>
+        <value>
+          <string>System.String:Name</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvApps/LastSortOrder</string>
+        </key>
+        <value>
+          <string>System.Int32:1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvLists/Name:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvLists/Name:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:80</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvLists/Name:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:-1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvLists/Applications:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvLists/Applications:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:80</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvLists/Applications:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:-1</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvLists/LastSortColumn</string>
+        </key>
+        <value>
+          <string>System.String:Name</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvLists/LastSortOrder</string>
+        </key>
+        <value>
+          <string>System.Int32:0</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>ChooseAppsToInstallDialog/ListsView</string>
+        </key>
+        <value>
+          <string>System.Int32:4</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/proto:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/proto:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:60</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/proto:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:11</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>CopyFileInstructionDialog/Size</string>
+        </key>
+        <value>
+          <string>System.Drawing.Size:402,163</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/bytes:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/bytes:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:71</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/bytes:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:7</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/hashExtVar:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/hashExtVar:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:60</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/hashExtVar:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:23</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/hashInternal:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/hashInternal:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:60</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/hashInternal:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:19</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/hashExternal:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/hashExternal:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:60</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/hashExternal:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:20</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/checksum64:Visibility</string>
+        </key>
+        <value>
+          <string>System.Boolean:True</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/checksum64:Width</string>
+        </key>
+        <value>
+          <string>System.Int32:33</string>
+        </value>
+      </item>
+      <item>
+        <key>
+          <string>olvJobs/checksum64:LastDisplayIndex</string>
+        </key>
+        <value>
+          <string>System.Int32:21</string>
+        </value>
+      </item>
+    </dictionary>
+  </Settings>
+  <GlobalVariables>
+    <Variable Name="7z" Content="7z.exe" />
+    <Variable Name="saveDir" Content="c:\chocolatey-automatic" />
+    <Variable Name="null" Content="null" />
+    <Variable Name="chocoPkgOut" Content="C:\code\chocolatey-packages\automatic\_output" />
+    <Variable Name="ie32" Content="Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)" />
+    <Variable Name="ie64" Content="Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Media Center PC 5.0; SLCC1; Tablet PC 2.0; .NET4.0C)" />
+    <Variable Name="firefox" Content="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10" />
+    <Variable Name="opera" Content="Opera/9.80 (Windows NT 6.1; U; en) Presto/2.6.30 Version/10.62" />
+    <Variable Name="chrome" Content="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.63 Safari/534.3" />
+    <Variable Name="wget" Content="wget/1.9+cvs-stable+(red+hat+modified)" />
+    <Variable Name="curl" Content="pycurl/7.18.2" />
+    <Variable Name="cscript" Content="2" />
+  </GlobalVariables>
+  <CodeSnippets>
+    <Snippet Guid="7158800B-A188-4CAB-927C-31AA36FDD049" Name="chocopkgup" Type="1">chocopkgup {nopush} --packagename={appname} --version={version} --pg="{packageGuid}" --url="{preupdate-url}" --urlx64="{url64}" --packagepath="{file}" --checksum="{checksum}" --c64="{checksumx64}" --debug</Snippet>
+    <Snippet Guid="BB8AF683-DA06-4C20-8434-9F854C46B961" Name="cs" Type="0">////////////////////////////////////////////////////////////////////////////////////////
+/// version 6.5
+/// 
+/// FIX: do not re-push package if package already created
+/// 
+
+// REQUIRES:
+// global vars: workdir=corresponds to download location of installer file
+// app vars: nopush, checksum64file=corresponds to 64 bit install file
+// file vars: same as specified by chocopkgup
+string varCScript = app.Variables.ReplaceAllInString("{cscript}");
+if ((varCScript == "1") || (varCScript == "2")) {
+string varAppname = app.Variables.ReplaceAllInString("{appname}");
+string varVersion = app.Variables.ReplaceAllInString("{version}");
+string varChocoPkgOutput = app.Variables.ReplaceAllInString("{chocoPkgOutput}");
+string varChecksum = app.Variables.ReplaceAllInString("{checksum}");
+string varChecksumx64 = app.Variables.ReplaceAllInString("{checksumx64}");
+string varChecksum64File = app.Variables.ReplaceAllInString("{checksum64file}");
+string varChecksum64basefile = app.Variables.ReplaceAllInString("{checksum64file:basefile}");
+string varChecksum64ext = app.Variables.ReplaceAllInString("{checksum64file:ext}");
+string varWorkdir = app.Variables.ReplaceAllInString("{workdir}");
+string saveFileName64 = String.Concat(varChecksum64basefile, ".", varChecksum64ext);
+// equivalent to ketarin variable "{file}"
+//string savePath = app.PreviousLocation;
+string savePath = app.PreviousLocation;
+string pkgPath = Path.Combine(varChocoPkgOutput, varAppname, varVersion);
+string fileNameNuspec = String.Concat(varAppname, ".nuspec");
+string fileUriNuspec = Path.Combine(pkgPath, fileNameNuspec);
+string fileNameNupkg = String.Concat(varAppname, ".", varVersion, ".nupkg");
+string fileUriNupkg = Path.Combine(pkgPath, fileNameNupkg);
+
+// do not re-push package if package already created
+DateTime today = DateTime.Today;
+DateTime pkgCreateDate = File.GetCreationTime(pkgPath);
+if (today &gt; pkgCreateDate) {
+	return;
+}
+
+if (varChecksum == "{checksum}") {
+  // calculate SHA1
+  System.IO.FileStream fileSha1 = new System.IO.FileStream(savePath, System.IO.FileMode.Open);
+  System.Security.Cryptography.SHA1 sha1 = new System.Security.Cryptography.SHA1CryptoServiceProvider();
+  byte[] retValSha1 = sha1.ComputeHash(fileSha1);
+  fileSha1.Close();
+
+  // create a string
+  System.Text.StringBuilder sbSha1 = new System.Text.StringBuilder();
+  for (int i = 0; i &lt; retValSha1.Length; i++) {
+    sbSha1.Append(retValSha1[i].ToString("x2"));
+  }
+     
+  string replaceChecksum = sbSha1.ToString();
+  List&lt;string&gt; fileList = new List&lt;string&gt;(Directory.GetFiles(pkgPath, "*.ps1", SearchOption.AllDirectories));
+  string[] filesNuspec = Directory.GetFiles(pkgPath, "*.nuspec", SearchOption.AllDirectories);
+  fileList.AddRange(filesNuspec);
+  string[] files = fileList.ToArray();
+  foreach (string file in files) {
+    try {
+      string contents = File.ReadAllText(file);
+      contents = contents.Replace("{checksum}", replaceChecksum);
+      // Make files writable
+      // File.SetAttributes(file, FileAttributes.Normal);
+      File.WriteAllText(file, contents);
+    } catch (Exception ex) {
+      Console.WriteLine(ex.Message);
+    }
+  }
+}
+
+// only get checksum if {checksum64file} exists and points to a downloadable file
+if (varChecksumx64 == "{checksumx64}" &amp;&amp; varChecksum64File != "{checksum64file}") {
+  string savePath64 = Path.Combine(varWorkdir, saveFileName64);
+  System.Net.WebClient webClient = new System.Net.WebClient();
+  webClient.DownloadFile(varChecksum64File, savePath64);
+
+  // calculate SHA1
+  System.IO.FileStream file64Sha1 = new System.IO.FileStream(savePath64, System.IO.FileMode.Open);
+  System.Security.Cryptography.SHA1 sha164 = new System.Security.Cryptography.SHA1CryptoServiceProvider();
+  byte[] retVal64Sha1 = sha164.ComputeHash(file64Sha1);
+  file64Sha1.Close();
+
+  // create a string
+  System.Text.StringBuilder sb64Sha1 = new System.Text.StringBuilder();
+  for (int i = 0; i &lt; retVal64Sha1.Length; i++) {
+    sb64Sha1.Append(retVal64Sha1[i].ToString("x2"));
+  }
+     
+  string replace64Checksum = sb64Sha1.ToString();
+  List&lt;string&gt; fileList = new List&lt;string&gt;(Directory.GetFiles(pkgPath, "*.ps1", SearchOption.AllDirectories));
+  string[] filesNuspec = Directory.GetFiles(pkgPath, "*.nuspec", SearchOption.AllDirectories);
+  fileList.AddRange(filesNuspec);
+  string[] files = fileList.ToArray();
+  foreach (string file in files) {
+    try {
+      string contents = File.ReadAllText(file);
+      contents = contents.Replace("{checksumx64}", replace64Checksum);
+      File.WriteAllText(file, contents);
+    } catch (Exception ex) {
+      Console.WriteLine(ex.Message);
+    }
+  }
+}
+
+int checkBeta = varVersion.Split('-').Length;
+if ( checkBeta == 2) {
+  string strPre = varVersion.Split('-')[1];
+  string strReplace = String.Concat(strPre, "&lt;/version&gt;");
+   string strCheck = String.Concat(".", DateTime.Now.ToString("yyyyMMdd"), "&lt;/version&gt;");
+   string[] fileNuspec = Directory.GetFiles(pkgPath, "*.nuspec", SearchOption.AllDirectories);
+  foreach (string file in fileNuspec) {
+    string contents = File.ReadAllText(file);
+    contents = contents.Replace(strCheck, strReplace);
+    File.WriteAllText(file, contents);
+  }
+}
+
+// delete existing nupkg made by chocopkgup; we leverage chocopkgup to create the structure/files in destination  
+System.Diagnostics.Process process1 = new System.Diagnostics.Process();
+System.Diagnostics.ProcessStartInfo proc1 = new System.Diagnostics.ProcessStartInfo();
+proc1.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
+proc1.UseShellExecute = true;
+proc1.WorkingDirectory = pkgPath;
+proc1.FileName = "cmd.exe";
+proc1.Arguments = "/c "+"del /f " + fileUriNupkg;
+process1.StartInfo = proc1;
+process1.Start();
+
+// create a new nupkg
+System.Diagnostics.Process process2 = new System.Diagnostics.Process();
+System.Diagnostics.ProcessStartInfo proc2 = new System.Diagnostics.ProcessStartInfo();
+proc2.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
+proc2.UseShellExecute = true;
+proc2.WorkingDirectory = pkgPath;
+proc2.FileName = "cmd.exe";
+proc2.Arguments = "/c "+"choco pack "+fileUriNuspec+" -d";
+process2.StartInfo = proc2;
+process2.Start();
+
+// push the nupkg
+if (varCScript == "2") {
+  System.Diagnostics.Process process3 = new System.Diagnostics.Process();
+  System.Diagnostics.ProcessStartInfo proc3 = new System.Diagnostics.ProcessStartInfo();
+  proc3.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
+  proc3.UseShellExecute = true;
+  proc3.WorkingDirectory = pkgPath;
+  proc3.FileName = "cmd.exe";
+  // find nupkg in pkgPath
+  string[] pushPkg = Directory.GetFiles(pkgPath, "*.nupkg", SearchOption.TopDirectoryOnly);
+  foreach (String file in pushPkg) {
+    proc3.Arguments = "/c "+"cpush " + file + " -d";
+  }
+  process3.StartInfo = proc3;
+  System.Threading.Thread.Sleep(2000);
+  process3.Start();
+}
+}</Snippet>
+  </CodeSnippets>
+  <SetupLists />
+</Ketarin>