<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://nsis.sourceforge.io/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Palm_installer_routines</id>
	<title>Palm installer routines - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://nsis.sourceforge.io/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Palm_installer_routines"/>
	<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Palm_installer_routines&amp;action=history"/>
	<updated>2026-08-25T09:22:04Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Palm_installer_routines&amp;diff=11353&amp;oldid=prev</id>
		<title>Kichik: new category for pda code</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Palm_installer_routines&amp;diff=11353&amp;oldid=prev"/>
		<updated>2006-10-26T12:33:19Z</updated>

		<summary type="html">&lt;p&gt;new category for pda code&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;â† Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:33, 26 October 2006&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l920&quot;&gt;Line 920:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 920:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:System Related Functions]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:System Related Functions]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:PDA Examples]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key n22049_wiki-wiki_:diff::1.12:old-6627:rev-11353 --&gt;
&lt;/table&gt;</summary>
		<author><name>Kichik</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Palm_installer_routines&amp;diff=6627&amp;oldid=prev</id>
		<title>ConversionBot: Adding new author and category links.</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Palm_installer_routines&amp;diff=6627&amp;oldid=prev"/>
		<updated>2005-06-24T13:33:54Z</updated>

		<summary type="html">&lt;p&gt;Adding new author and category links.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;â† Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:33, 24 June 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|align=right&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;PageAuthor&lt;/ins&gt;|spekary}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&amp;lt;small&amp;gt;Author: [[&lt;/del&gt;{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{ns:2}}:spekary&lt;/del&gt;|spekary&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] ([[{{ns:3}}:spekary|talk]], [[{{ns:-1}&lt;/del&gt;}&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:Contributions/spekary|contrib]])&amp;lt;/small&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&lt;/del&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The following is a set of Palm installer routines I use for installers. It helps to separate out the Palm only stuff.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The following is a set of Palm installer routines I use for installers. It helps to separate out the Palm only stuff.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l921&quot;&gt;Line 921:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 919:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/highlight-ini&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/highlight-ini&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{ns:14}}&lt;/del&gt;:System Related Functions]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Category&lt;/ins&gt;:System Related Functions]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key n22049_wiki-wiki_:diff::1.12:old-4021:rev-6627 --&gt;
&lt;/table&gt;</summary>
		<author><name>ConversionBot</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Palm_installer_routines&amp;diff=4021&amp;oldid=prev</id>
		<title>ConversionBot: Added category links.</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Palm_installer_routines&amp;diff=4021&amp;oldid=prev"/>
		<updated>2005-04-30T22:18:40Z</updated>

		<summary type="html">&lt;p&gt;Added category links.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;â† Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:18, 30 April 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l920&quot;&gt;Line 920:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 920:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bottom=41&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bottom=41&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/highlight-ini&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/highlight-ini&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[{{ns:14}}:System Related Functions]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key n22049_wiki-wiki_:diff::1.12:old-2594:rev-4021 --&gt;
&lt;/table&gt;</summary>
		<author><name>ConversionBot</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Palm_installer_routines&amp;diff=2594&amp;oldid=prev</id>
		<title>ConversionBot: Updated author links.</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Palm_installer_routines&amp;diff=2594&amp;oldid=prev"/>
		<updated>2005-04-30T03:01:46Z</updated>

		<summary type="html">&lt;p&gt;Updated author links.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;â† Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 03:01, 30 April 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{|align=right&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&amp;lt;small&gt;Author: [[{{ns:2}}:spekary|spekary]] ([[{{ns:3}}:spekary|talk]], [[{{ns:-1}}:Contributions/spekary|contrib]])&amp;lt;/small&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br style=&quot;clear:both;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The following is a set of Palm installer routines I use for installers. It helps to separate out the Palm only stuff.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The following is a set of Palm installer routines I use for installers. It helps to separate out the Palm only stuff.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l916&quot;&gt;Line 916:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 920:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bottom=41&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bottom=41&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/highlight-ini&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/highlight-ini&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Page author: [[User:spekary|spekary]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key n22049_wiki-wiki_:diff::1.12:old-2056:rev-2594 --&gt;
&lt;/table&gt;</summary>
		<author><name>ConversionBot</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Palm_installer_routines&amp;diff=2056&amp;oldid=prev</id>
		<title>ConversionBot: Updated author and download links, and changed format of some pages.</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Palm_installer_routines&amp;diff=2056&amp;oldid=prev"/>
		<updated>2005-04-23T12:44:52Z</updated>

		<summary type="html">&lt;p&gt;Updated author and download links, and changed format of some pages.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;â† Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:44, 23 April 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l917&quot;&gt;Line 917:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 917:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/highlight-ini&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/highlight-ini&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Page author: spekary&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Page author&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: [[User&lt;/ins&gt;:spekary&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|spekary]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key n22049_wiki-wiki_:diff::1.12:old-1409:rev-2056 --&gt;
&lt;/table&gt;</summary>
		<author><name>ConversionBot</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Palm_installer_routines&amp;diff=1409&amp;oldid=prev</id>
		<title>ConversionBot: Wikipedia python library</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Palm_installer_routines&amp;diff=1409&amp;oldid=prev"/>
		<updated>2005-04-09T21:00:20Z</updated>

		<summary type="html">&lt;p&gt;Wikipedia python library&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Description ==&lt;br /&gt;
The following is a set of Palm installer routines I use for installers. It helps to separate out the Palm only stuff.&lt;br /&gt;
&lt;br /&gt;
== How To Use ==&lt;br /&gt;
To use it, you will need to create a directory, and put some CDK DLLs, and a couple of ini files for it to get to.&lt;br /&gt;
&lt;br /&gt;
If you don&amp;#039;t use all the routines, you will get warnings, but oh well. Improving it is an exercise for the reader.&lt;br /&gt;
&lt;br /&gt;
Not all translations are complete, but I thought I would post what we have so far.&lt;br /&gt;
&lt;br /&gt;
== palminst.nsi ==&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
; Include file for Palm install function calls&lt;br /&gt;
; Most functions preserve user registers and return results on the stack&lt;br /&gt;
; Written by Shannon Pekary&lt;br /&gt;
; Hands High Software, Inc.&lt;br /&gt;
; http://www.handshigh.com/&lt;br /&gt;
; This is now in the public domain. No warranty expressed or implied. Use it at your own risk. Etc. etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; If you are installing a conduit, also !define CONDUIT to include the conduit stuff&lt;br /&gt;
&lt;br /&gt;
!define PALM_INSTAIDE_DIR    &amp;quot;\put\the\local\directory\where\you\store\the\following:&amp;quot;&lt;br /&gt;
        ; InstAide.dll&lt;br /&gt;
        ; userlist.ini&lt;br /&gt;
        ; hotsync.ini&lt;br /&gt;
        ; and if using a conduit:&lt;br /&gt;
        ; hsapi.dll&lt;br /&gt;
&lt;br /&gt;
; InstAide dll definitions&lt;br /&gt;
&lt;br /&gt;
; returns the number of users&lt;br /&gt;
!define PltGetUserCount &amp;quot;InstAide::PltGetUserCount(v) i&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; returns the name of the nth user&lt;br /&gt;
; (n, returnedName, size)&lt;br /&gt;
; you need to allocate space for the returned name, and put that amount in size&lt;br /&gt;
; returns an error number&lt;br /&gt;
!define PltGetUser &amp;quot;InstAide::PltGetUser(i, t, *i) i&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; returns the path to the given user&amp;#039;s directory&lt;br /&gt;
!define PltGetUserDirectory &amp;quot;InstAide::PltGetUserDirectory(t, t, *i) i&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; installs the file to the given user&lt;br /&gt;
; (user, file path)&lt;br /&gt;
!define PltInstallFile &amp;quot;InstAide::PltInstallFile(t, t) i&amp;quot;&lt;br /&gt;
; returns the given path&lt;br /&gt;
; (n, returnedName, size)&lt;br /&gt;
!define PILOT_PATH_HOME         1&lt;br /&gt;
!define PILOT_PATH_HOTSYNC      2&lt;br /&gt;
!define PILOT_PATH_TUTORIAL     3&lt;br /&gt;
!define PltGetPath &amp;quot;Instaide::PltGetPath(i, t, *i) i&amp;quot;&lt;br /&gt;
;System::Call &amp;quot;${MyFunc} (&amp;#039;another string&amp;#039;, 3, )&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!ifdef CONDUIT&lt;br /&gt;
&lt;br /&gt;
; control the hotsync application&lt;br /&gt;
; First parameter:&lt;br /&gt;
; 0 close app&lt;br /&gt;
; 1 start app&lt;br /&gt;
; 2 restart app&lt;br /&gt;
; Second paramater is a compbined bit field:&lt;br /&gt;
; 0 do nothin&lt;br /&gt;
; 1 restore registery&lt;br /&gt;
; 2 restore config entries to default&lt;br /&gt;
; 4 verbose&lt;br /&gt;
; 8 debug level 1&lt;br /&gt;
; 16 debug level 2&lt;br /&gt;
; 32 sync check&lt;br /&gt;
&lt;br /&gt;
!define HSSetState &amp;quot;HSAPI::HsSetAppStatus(i, i) i&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; register a conduit notifier dll&lt;br /&gt;
; creator code, dll dir path (should be palm dir), dll name&lt;br /&gt;
!define HHRegisterNotifier &amp;quot;HHInstServ::RegisterNotifier(t,t,t) i&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; install conduit creator&lt;br /&gt;
; creator name, conduit type (probably 1)&lt;br /&gt;
!define CmInstallCreator &amp;quot;CondMgr::CmInstallCreator(t, i) i&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!define CmSetCreatorName &amp;quot;CondMgr::CmSetCreatorName(t, t) i&amp;quot;&lt;br /&gt;
!define CmGetCreatorName &amp;quot;CondMgr::CmGetCreatorName(t,t,*i) i&amp;quot;&lt;br /&gt;
!define CmSetCreatorTitle &amp;quot;CondMgr::CmSetCreatorTitle(t, t) i&amp;quot;&lt;br /&gt;
!define CmSetCreatorDirectory &amp;quot;CondMgr::CmSetCreatorDirectory(t, t) i&amp;quot;&lt;br /&gt;
!define CmSetCreatorIntegrate &amp;quot;CondMgr::CmSetCreatorIntegrate(t, i) i&amp;quot;&lt;br /&gt;
!define CmSetCreatorPriority &amp;quot;CondMgr::CmSetCreatorPriority(t, i) i&amp;quot;&lt;br /&gt;
!define CmSetCreatorModule &amp;quot;CondMgr::CmSetCreatorModule(t, t) i&amp;quot;&lt;br /&gt;
!define CmSetCreatorFile &amp;quot;CondMgr::CmSetCreatorFile(t, t) i&amp;quot;&lt;br /&gt;
!define CmGetCreatorFile &amp;quot;CondMgr::CmGetCreatorFile(t, t, *i) i&amp;quot;&lt;br /&gt;
!define CmRemoveConduit &amp;quot;CondMgr::CmRemoveConduitByCreatorID(t) i&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!define CmGetCreatorValueDWord &amp;quot;CondMgr::CmGetCreatorValueDword(t, t, *i, i) i&amp;quot;&lt;br /&gt;
!define CmGetCreatorValueString &amp;quot;CondMgr::CmGetCreatorValueString(t, t, t, *i, t) i&amp;quot;&lt;br /&gt;
!define CmSetCreatorValueDWord &amp;quot;CondMgr::CmSetCreatorValueDword(t, t, i) i&amp;quot;&lt;br /&gt;
!define CmSetCreatorValueString &amp;quot;CondMgr::CmSetCreatorValueString(t, t, t) i&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!define CmGetCreatorType &amp;quot;CondMgr::CmGetCreatorType(t) i&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; set creator name&lt;br /&gt;
!endif&lt;br /&gt;
&lt;br /&gt;
; language strings&lt;br /&gt;
; NoPalmInstaller&lt;br /&gt;
!ifdef LANG_ENGLISH&lt;br /&gt;
LangString NoPalmInstaller ${LANG_ENGLISH} &amp;quot;No Palm Desktop was found on your \&lt;br /&gt;
system.  The installation cannot complete.  Please ensure that the latest \&lt;br /&gt;
version of the Palm Desktop Software is installed on your computer before \&lt;br /&gt;
installing.&amp;quot;&lt;br /&gt;
LangString NoUserChoice ${LANG_ENGLISH} &amp;quot;You must choose a user to proceed!&amp;quot;&lt;br /&gt;
LangString ClickInstall ${LANG_ENGLISH} &amp;quot;After you have selected a user, click &amp;#039;Install&amp;#039;.&amp;quot;&lt;br /&gt;
LangString SelectUser ${LANG_ENGLISH} &amp;quot;Choose the handheld User Name for installation:&amp;quot;&lt;br /&gt;
LangString SyncNow ${LANG_ENGLISH} &amp;quot;Synchronize your handheld computer now to complete your installation.&amp;quot;&lt;br /&gt;
LangString UserName ${LANG_ENGLISH} &amp;quot;User Name&amp;quot;&lt;br /&gt;
!endif&lt;br /&gt;
&lt;br /&gt;
!ifdef LANG_GERMAN&lt;br /&gt;
LangString NoPalmInstaller ${LANG_GERMAN} &amp;quot;Auf Ihrem System wurde kein Palm-Desktop gefunden. Die Installation kann nicht vollst&amp;amp;copy;ig durchgef&amp;amp;copy;erden. Bitte stellen Sie sicher, da&amp;amp;copy;die aktuelle Version des Palm-Desktops auf Ihrem Computer installiert ist, damit Slap auf Ihrem Handheld installiert werden kann.&amp;quot;&lt;br /&gt;
LangString NoUserChoice ${LANG_GERMAN} &amp;quot;Sie m&amp;amp;copy;einen Benutzer ausw&amp;amp;copy;en, um mit der Installation fortfahren zu k&amp;amp;copy;n!&amp;quot;&lt;br /&gt;
LangString ClickInstall ${LANG_GERMAN} &amp;quot;Nachdem Sie einen Benutzer vorgew&amp;amp;copy;t haben, klicken Sie &amp;#039;Install&amp;#039; an.&amp;quot;&lt;br /&gt;
LangString SelectUser ${LANG_GERMAN} &amp;quot;Bitte w&amp;amp;copy;en Sie den Benutzer aus, f&amp;amp;copy; die Installation durchgef&amp;amp;copy;erden soll:&amp;quot;&lt;br /&gt;
LangString SyncNow ${LANG_GERMAN} &amp;quot;Synchronisieren Sie bitte Ihren Handheld, um die Installation abzuschlie&amp;amp;copy;n..&amp;quot;&lt;br /&gt;
LangString UserName ${LANG_GERMAN} &amp;quot;Benutzername&amp;quot;&lt;br /&gt;
!endif&lt;br /&gt;
&lt;br /&gt;
!ifdef LANG_FRENCH&lt;br /&gt;
LangString NoPalmInstaller ${LANG_FRENCH} &amp;quot;Aucun installateur de Palm Desktop n&amp;#039;a &amp;amp;copy; trouv&amp;amp;copy;ur le votre \&lt;br /&gt;
syst&amp;amp;copy;. L&amp;#039;installation ne peut pas accomplir. Veuillez s&amp;#039;assurer que le plus en retard \&lt;br /&gt;
version du logiciel de Palm Desktop est install&amp;amp;copy;ur votre ordinateur \&lt;br /&gt;
avant d&amp;#039;installant.&amp;quot;&lt;br /&gt;
LangString NoUserChoice ${LANG_FRENCH} &amp;quot;Vous devez choisir un utilisateur pour proc&amp;amp;copy;r!&amp;quot;&lt;br /&gt;
LangString ClickInstall ${LANG_FRENCH} &amp;quot;Apr&amp;amp;copy;que vous ayez choisi un utilisateur, cliquez &amp;#039;Installer&amp;#039;.&amp;quot;&lt;br /&gt;
LangString SelectUser ${LANG_FRENCH} &amp;quot;Choisissez le nom du handheld pour l&amp;#039;installation:&amp;quot;&lt;br /&gt;
LangString SyncNow ${LANG_FRENCH} &amp;quot;Synchronisez votre handheld maintenant pour accomplir votre installation.&amp;quot;&lt;br /&gt;
LangString UserName ${LANG_FRENCH} &amp;quot;Utilisateur&amp;quot;&lt;br /&gt;
!endif&lt;br /&gt;
&lt;br /&gt;
; Functions&lt;br /&gt;
Function Palm_Init&lt;br /&gt;
;  Call from .onInit&lt;br /&gt;
   File /oname=$PLUGINSDIR\userlist.ini &amp;quot;${PALM_INSTAIDE_DIR}\userlist.ini&amp;quot;&lt;br /&gt;
   File /oname=$PLUGINSDIR\hotsync.ini &amp;quot;${PALM_INSTAIDE_DIR}\hotsync.ini&amp;quot;&lt;br /&gt;
   File /oname=$PLUGINSDIR\Instaide.dll &amp;quot;${PALM_INSTAIDE_DIR}\Instaide.dll&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
!ifdef CONDUIT&lt;br /&gt;
   File /oname=$PLUGINSDIR\HSAPI.DLL &amp;quot;${PALM_INSTAIDE_DIR}\HSAPI.dll&amp;quot;&lt;br /&gt;
!endif&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function Palm_GetUserCount&lt;br /&gt;
; returns user count at the top of the stack&lt;br /&gt;
; Usage:&lt;br /&gt;
; Call Palm_GetUserCount&lt;br /&gt;
; pop $0&lt;br /&gt;
  Push $R0&lt;br /&gt;
   SetOutPath $PLUGINSDIR&lt;br /&gt;
   System::Call &amp;quot;${PltGetUserCount} .R0&amp;quot;&lt;br /&gt;
   ;MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;There seem to be $R0 Palm users&amp;quot;&lt;br /&gt;
   Exch $R0&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function Palm_GetUser&lt;br /&gt;
; Given a user number, returns the corresponding user name&lt;br /&gt;
; Usage:&lt;br /&gt;
; Push $UserNumber&lt;br /&gt;
; Call Palm_GetUser&lt;br /&gt;
; Pop $UserName&lt;br /&gt;
  exch $0&lt;br /&gt;
  push $1&lt;br /&gt;
  push $R0&lt;br /&gt;
  SetOutPath $PLUGINSDIR&lt;br /&gt;
  StrCpy $1 ${NSIS_MAX_STRLEN}&lt;br /&gt;
  ;MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;Is error: $0&amp;quot;&lt;br /&gt;
  System::Call &amp;quot;${PltGetUser} (r0, .R0, r1) .&amp;quot;&lt;br /&gt;
  ; R0 now has the name&lt;br /&gt;
  StrCpy $0 $R0&lt;br /&gt;
  pop $R0&lt;br /&gt;
  pop $1&lt;br /&gt;
  exch $0&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function Palm_GetUserDirectory&lt;br /&gt;
; Given a user name, returns the directory path to the user&amp;#039;s palm directory&lt;br /&gt;
; Usage:&lt;br /&gt;
; Push $UserName&lt;br /&gt;
; Call Palm_GetUserDirectory&lt;br /&gt;
; Pop $UserPath&lt;br /&gt;
  exch $0&lt;br /&gt;
  push $1&lt;br /&gt;
  push $R0&lt;br /&gt;
  SetOutPath $PLUGINSDIR&lt;br /&gt;
  StrCpy $1 ${NSIS_MAX_STRLEN}&lt;br /&gt;
  ;MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;Is error: $0&amp;quot;&lt;br /&gt;
  System::Call &amp;quot;${PltGetUserDirectory} (r0, .R0, r1r1) .r0&amp;quot;&lt;br /&gt;
  ; R0 now has the path&lt;br /&gt;
  StrCpy $0 $R0&lt;br /&gt;
  pop $R0&lt;br /&gt;
  pop $1&lt;br /&gt;
  exch $0&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
; The following macro is used to define both install and uninstall versions&lt;br /&gt;
!macro GETPILOTPATH UN&lt;br /&gt;
; puts pilot path on the stack&lt;br /&gt;
Function ${UN}Palm_GetPilotPath&lt;br /&gt;
   push $0&lt;br /&gt;
   push $1&lt;br /&gt;
   push $2&lt;br /&gt;
   push $R0&lt;br /&gt;
   push $OutDir&lt;br /&gt;
   &lt;br /&gt;
   SetOutPath $PLUGINSDIR&lt;br /&gt;
   StrCpy $1 ${NSIS_MAX_STRLEN}&lt;br /&gt;
   StrCpy $0 2&lt;br /&gt;
   System::Call &amp;#039;${PltGetPath}(r0, .R0, r1) .r2&amp;#039;&lt;br /&gt;
   StrCpy $0 $R0&lt;br /&gt;
   &lt;br /&gt;
   ; The path now has Hotsync.exe in it The following code takes that out&lt;br /&gt;
 TruncLoop:&lt;br /&gt;
   StrCpy $R0 $0 1 -1 ; get last character&lt;br /&gt;
   StrCpy $0 $0 -1 ; remove it&lt;br /&gt;
   ;MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;The Pilot Path is: $0&amp;quot;&lt;br /&gt;
   StrLen $2 $0&lt;br /&gt;
   IntCmp $2 0 KeepGoing ; skip next instruction if we are at zero length to avoid endless loop&lt;br /&gt;
   StrCmp $R0 &amp;quot;\&amp;quot; 0 TruncLoop ; if it was a \, then quit&lt;br /&gt;
KeepGoing:&lt;br /&gt;
&lt;br /&gt;
   pop $OutDir&lt;br /&gt;
   pop $R0&lt;br /&gt;
   pop $2&lt;br /&gt;
   pop $1&lt;br /&gt;
   exch $0&lt;br /&gt;
FunctionEnd&lt;br /&gt;
!macroend&lt;br /&gt;
&lt;br /&gt;
; include both versions now&lt;br /&gt;
!insertmacro  GETPILOTPATH &amp;quot;&amp;quot;&lt;br /&gt;
!insertmacro GETPILOTPATH &amp;quot;un.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function Palm_GetUserList&lt;br /&gt;
; Returns on the stack a list of Palm users separated by pipes &amp;quot;|&amp;quot; for use in creating a drop down list&lt;br /&gt;
; Will display an error message and set error if no users are found&lt;br /&gt;
; Usage: Call Palm_GetUserList&lt;br /&gt;
;        Pop $UserList&lt;br /&gt;
;&lt;br /&gt;
  push $0&lt;br /&gt;
  ; NSIS has to be using the directory containing the dll for it to find it&lt;br /&gt;
  SetOutPath $PLUGINSDIR&lt;br /&gt;
  System::Call &amp;#039;${PltGetUserCount} .r0&amp;#039;&lt;br /&gt;
&lt;br /&gt;
  IntCmp $0 0 0 0 foundInstaller ; if return value of PltGetUserCount is 0 or negative, then we can&amp;#039;t continue&lt;br /&gt;
    MessageBox MB_OK|MB_ICONINFORMATION $(NoPalmInstaller)&lt;br /&gt;
    SetErrors&lt;br /&gt;
    pop $0&lt;br /&gt;
    Return&lt;br /&gt;
    &lt;br /&gt;
  foundInstaller:&lt;br /&gt;
  push $1&lt;br /&gt;
  push $2&lt;br /&gt;
  push $3&lt;br /&gt;
  push $4&lt;br /&gt;
  push $5&lt;br /&gt;
  &lt;br /&gt;
  StrCpy $1 $0&lt;br /&gt;
  ; Compile the list of Palm Users&lt;br /&gt;
  StrCpy $2 0 ; Initialize counter&lt;br /&gt;
  StrCpy $0 &amp;quot;&amp;quot;  ; initialize user list&lt;br /&gt;
  Loop:&lt;br /&gt;
    StrCpy $4 ${NSIS_MAX_STRLEN} ; $4 will tell the function the buffer length of $3&lt;br /&gt;
    ; $3 will be set to the username of the user indexed by $2&lt;br /&gt;
    ;System::Call &amp;#039;InstAide::PltGetUser(i r2, t .r3, *i r4) i .r5&amp;#039;&lt;br /&gt;
    System::Call &amp;#039;${PltGetUser}(r2, .r3, r4) .r5&amp;#039;&lt;br /&gt;
     ;MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;Found User $3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    StrCpy $0 &amp;quot;$0$3|&amp;quot;&lt;br /&gt;
    IntOp $2 $2 + 1 ; Increment the counter&lt;br /&gt;
    IntCmp $2 $1 0 Loop 0 ; continue looping until end&lt;br /&gt;
&lt;br /&gt;
  ;user list built, but it has an extra | on the end of it&lt;br /&gt;
  StrCpy $0 &amp;quot;$0&amp;quot; -1&lt;br /&gt;
  pop $5&lt;br /&gt;
  pop $4&lt;br /&gt;
  pop $3&lt;br /&gt;
  pop $2&lt;br /&gt;
  pop $1&lt;br /&gt;
  exch $0&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function Palm_GetUserChoice&lt;br /&gt;
; either chooses the main user if there is only one, or asks for a PalmUser&lt;br /&gt;
; will return the user choice on the stack&lt;br /&gt;
&lt;br /&gt;
  push $0&lt;br /&gt;
  StrCpy $0 0&lt;br /&gt;
  SetOutPath $PLUGINSDIR&lt;br /&gt;
&lt;br /&gt;
  call Palm_GetUserCount&lt;br /&gt;
  pop $0&lt;br /&gt;
  IntCmp $0 1 GetOne Error&lt;br /&gt;
&lt;br /&gt;
  ; more than one user&lt;br /&gt;
  Call Palm_GetUserList&lt;br /&gt;
  pop $0&lt;br /&gt;
  ;MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;Found Users $PalmUserList&amp;quot;&lt;br /&gt;
  WriteINIStr &amp;quot;$PLUGINSDIR\userlist.ini&amp;quot; &amp;quot;Field 3&amp;quot; &amp;quot;ListItems&amp;quot; $0&lt;br /&gt;
  ; Get first user to set up as a default, or if a previous user was chosen, set that to the current choice (would happen if Back button was pressed)&lt;br /&gt;
  ReadINIStr $0 &amp;quot;$PLUGINSDIR\userlist.ini&amp;quot; &amp;quot;Field 3&amp;quot; &amp;quot;State&amp;quot; ; get selection&lt;br /&gt;
&lt;br /&gt;
  StrCmp $0 &amp;quot;&amp;quot; GetDefault Popup&lt;br /&gt;
  &lt;br /&gt;
GetDefault:&lt;br /&gt;
  push 0&lt;br /&gt;
  Call Palm_GetUser&lt;br /&gt;
  pop $0&lt;br /&gt;
  &lt;br /&gt;
Popup:&lt;br /&gt;
   ;MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;Default User $0&amp;quot;&lt;br /&gt;
  WriteINIStr &amp;quot;$PLUGINSDIR\userlist.ini&amp;quot; &amp;quot;Field 3&amp;quot; &amp;quot;State&amp;quot; $0&lt;br /&gt;
  &lt;br /&gt;
  ; Setup languages for dialog&lt;br /&gt;
  WriteINIStr &amp;quot;$PLUGINSDIR\userlist.ini&amp;quot; &amp;quot;Field 1&amp;quot; &amp;quot;Text&amp;quot; $(ClickInstall)&lt;br /&gt;
  WriteINIStr &amp;quot;$PLUGINSDIR\userlist.ini&amp;quot; &amp;quot;Field 2&amp;quot; &amp;quot;Text&amp;quot; $(SelectUser)&lt;br /&gt;
  WriteINIStr &amp;quot;$PLUGINSDIR\userlist.ini&amp;quot; &amp;quot;Settings&amp;quot; &amp;quot;Title&amp;quot; $(UserName)&lt;br /&gt;
  &lt;br /&gt;
  InstallOptions::dialog $PLUGINSDIR\userlist.ini&lt;br /&gt;
  pop $0 ;returns an error code&lt;br /&gt;
  ReadINIStr $0 &amp;quot;$PLUGINSDIR\userlist.ini&amp;quot; &amp;quot;Field 3&amp;quot; &amp;quot;State&amp;quot; ; get selection&lt;br /&gt;
;      MessageBox MB_OK|MB_ICONEXCLAMATION &amp;quot;UserChoice is $0.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Goto Finish&lt;br /&gt;
&lt;br /&gt;
GetOne:&lt;br /&gt;
  push 0&lt;br /&gt;
  Call Palm_GetUser&lt;br /&gt;
  pop $0&lt;br /&gt;
  GoTo Finish&lt;br /&gt;
&lt;br /&gt;
Error:&lt;br /&gt;
   MessageBox MB_OK|MB_ICONINFORMATION $(NoPalmInstaller)&lt;br /&gt;
   StrCpy $0 0&lt;br /&gt;
   SetErrors&lt;br /&gt;
   GoTo Finish&lt;br /&gt;
&lt;br /&gt;
Finish:&lt;br /&gt;
   ; user choice should be in $0 now&lt;br /&gt;
   ;MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;User is $0&amp;quot;&lt;br /&gt;
   exch $0&lt;br /&gt;
FunctionEnd ; SetupUserChoice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function Palm_ValidateUserChoice&lt;br /&gt;
; Call this as a validation routine for the User Choice page&lt;br /&gt;
  push $0&lt;br /&gt;
  ReadINIStr $0 &amp;quot;$PLUGINSDIR\userlist.ini&amp;quot; &amp;quot;Field 3&amp;quot; &amp;quot;State&amp;quot;&lt;br /&gt;
  StrCmp $0 &amp;quot;&amp;quot; 0 Continue&lt;br /&gt;
  MessageBox MB_OK|MB_ICONINFORMATION $(NoUserChoice)&lt;br /&gt;
  pop $0&lt;br /&gt;
  Abort&lt;br /&gt;
Continue:&lt;br /&gt;
&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
; call this to tell the user to hotsync&lt;br /&gt;
Function Palm_HotSyncNowMessage&lt;br /&gt;
  SetOutPath $PLUGINSDIR&lt;br /&gt;
  WriteINIStr &amp;quot;$PLUGINSDIR\hotsync.ini&amp;quot; &amp;quot;Field 1&amp;quot; &amp;quot;Text&amp;quot; $(SyncNow)&lt;br /&gt;
  InstallOptions::dialog $PLUGINSDIR\hotsync.ini&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function Palm_InstallFile&lt;br /&gt;
; Install the given file to the given user name&lt;br /&gt;
; Usage:&lt;br /&gt;
; push $UserName&lt;br /&gt;
; push $FilePath&lt;br /&gt;
; call Palm_InstallFile&lt;br /&gt;
;&lt;br /&gt;
  exch $0 ; FilePath&lt;br /&gt;
  exch&lt;br /&gt;
  exch $1 ; UserName&lt;br /&gt;
  push $OutDir&lt;br /&gt;
&lt;br /&gt;
  ;MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;Installing $0 for $1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  SetOutPath $PLUGINSDIR&lt;br /&gt;
  DetailPrint &amp;#039;Installing Palm file $R1 to user $1&amp;#039;&lt;br /&gt;
  System::Call &amp;#039;${PltInstallFile} (r1, r0)&amp;#039;&lt;br /&gt;
&lt;br /&gt;
  ;MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;Result $R0&amp;quot;&lt;br /&gt;
  pop $OutDir&lt;br /&gt;
  pop $1&lt;br /&gt;
  pop $0&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function Palm_InstallDir&lt;br /&gt;
; Installs all the PRC files in the given directory to the given user name&lt;br /&gt;
; Usage:&lt;br /&gt;
; push $UserName&lt;br /&gt;
; push $DirPath  (should end in *.prc or *.pdb or some other file conglomeration)&lt;br /&gt;
; call Palm_InstallDir&lt;br /&gt;
  exch $0 ; DirPath&lt;br /&gt;
  exch&lt;br /&gt;
  exch $1 ; UserName&lt;br /&gt;
&lt;br /&gt;
  push $R0&lt;br /&gt;
  push $R1&lt;br /&gt;
  push $R2&lt;br /&gt;
  push $R3&lt;br /&gt;
  push $R4&lt;br /&gt;
  ;MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;Installing $0 for $1&amp;quot;&lt;br /&gt;
  push $OutDir&lt;br /&gt;
  &lt;br /&gt;
  ; extract the directory from the dirpath variable&lt;br /&gt;
  StrCpy $R3 $0&lt;br /&gt;
  Trunc:&lt;br /&gt;
  StrCpy $R4 $R3 1 -1&lt;br /&gt;
  StrCpy $R3 $R3 -1&lt;br /&gt;
  StrLen $R2 $R3&lt;br /&gt;
  IntCmp $R2 0 +2 ; keep from doing an endless loop&lt;br /&gt;
  StrCmp $R4 &amp;quot;\&amp;quot; 0 Trunc&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  SetOutPath $PLUGINSDIR&lt;br /&gt;
&lt;br /&gt;
  FindFirst $R0 $R1 $0&lt;br /&gt;
  StrCmp $R0 &amp;quot;&amp;quot; error&lt;br /&gt;
  again:&lt;br /&gt;
  StrCmp $R1 &amp;quot;&amp;quot; done&lt;br /&gt;
  DetailPrint &amp;#039;Installing Palm file $R3\$R1 to user $1&amp;#039;&lt;br /&gt;
  System::Call &amp;#039;${PltInstallFile} (r1, &amp;quot;$R3\$R1&amp;quot;)&amp;#039;&lt;br /&gt;
  FindNext $R0 $R1&lt;br /&gt;
  Goto again&lt;br /&gt;
  done:&lt;br /&gt;
  FindClose $R0&lt;br /&gt;
  error:&lt;br /&gt;
&lt;br /&gt;
  ;MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;Result $R0&amp;quot;&lt;br /&gt;
  pop $OutDir&lt;br /&gt;
  pop $R4&lt;br /&gt;
  pop $R3&lt;br /&gt;
  pop $R2&lt;br /&gt;
  pop $R1&lt;br /&gt;
  pop $R0&lt;br /&gt;
  pop $1&lt;br /&gt;
  pop $0&lt;br /&gt;
&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
!ifdef CONDUIT                         ; conduit specific stuff&lt;br /&gt;
&lt;br /&gt;
Function HotSync_SetState&lt;br /&gt;
; turn hotsync on or off&lt;br /&gt;
; Usage:&lt;br /&gt;
; push start/restart value&lt;br /&gt;
; push verbose logging flags&lt;br /&gt;
; call HotSync_SetState&lt;br /&gt;
&lt;br /&gt;
  exch $0 ; verbose flags&lt;br /&gt;
  exch&lt;br /&gt;
  exch $1 ; start/restart&lt;br /&gt;
  push $OutDir&lt;br /&gt;
  SetOutPath $PLUGINSDIR&lt;br /&gt;
  System::Call &amp;#039;${HSSetState} (r1, r0)&amp;#039;&lt;br /&gt;
  pop $OutDir&lt;br /&gt;
  pop $1&lt;br /&gt;
  pop $0&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function Conduit_Install&lt;br /&gt;
; install the conduit&lt;br /&gt;
; usage:&lt;br /&gt;
; $0 = creator&lt;br /&gt;
; $1 = type (probably 1 for application)&lt;br /&gt;
; $2 = conduit dll file name&lt;br /&gt;
; $3 = visible conduit name to user&lt;br /&gt;
; $4 = priority (default to 2)&lt;br /&gt;
; $5 = directory name of conduit data (optional)&lt;br /&gt;
; $6 = path to integrated application (optional)&lt;br /&gt;
; $7 = file name (optional)&lt;br /&gt;
;&lt;br /&gt;
; call Conduit_Install&lt;br /&gt;
&lt;br /&gt;
push $OutDir&lt;br /&gt;
push $R0&lt;br /&gt;
push $R1&lt;br /&gt;
push $R2&lt;br /&gt;
&lt;br /&gt;
call Palm_GetPilotPath&lt;br /&gt;
pop $R0 ; pilotpath&lt;br /&gt;
  ;MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;PilotPath is $R0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SetOutPath $R0&lt;br /&gt;
&lt;br /&gt;
System::Call &amp;#039;${CmRemoveConduit} (r0) .R1&amp;#039;&lt;br /&gt;
&lt;br /&gt;
StrCpy $R2 &amp;quot;InstallCreator&amp;quot;&lt;br /&gt;
&lt;br /&gt;
System::Call &amp;#039;${CmInstallCreator} (r0, r1) .R1&amp;#039;&lt;br /&gt;
IntCmp $R1 0 0 Fail Fail&lt;br /&gt;
&lt;br /&gt;
StrCpy $R2 &amp;quot;Name&amp;quot;&lt;br /&gt;
System::Call &amp;#039;${CmSetCreatorName} (r0, r2) .R1&amp;#039;&lt;br /&gt;
IntCmp $R1 0 0 Fail Fail&lt;br /&gt;
&lt;br /&gt;
StrCpy $R2 &amp;quot;Title&amp;quot;&lt;br /&gt;
System::Call &amp;#039;${CmSetCreatorTitle} (r0, r3) .R1&amp;#039;&lt;br /&gt;
IntCmp $R1 0 0 Fail Fail&lt;br /&gt;
&lt;br /&gt;
StrCpy $R2 &amp;quot;Priority&amp;quot;&lt;br /&gt;
System::Call &amp;#039;${CmSetCreatorPriority} (r0, r4) .R1&amp;#039;&lt;br /&gt;
IntCmp $R1 0 0 Fail Fail&lt;br /&gt;
&lt;br /&gt;
StrCpy $R2 &amp;quot;Directory&amp;quot;&lt;br /&gt;
StrCmp $5 &amp;quot;&amp;quot; Module&lt;br /&gt;
System::Call &amp;#039;${CmSetCreatorDirectory} (r0, r5) .R1&amp;#039;&lt;br /&gt;
IntCmp $R1 0 0 Fail Fail&lt;br /&gt;
&lt;br /&gt;
Module:&lt;br /&gt;
StrCpy $R2 &amp;quot;Integrate&amp;quot;&lt;br /&gt;
StrCmp $6 &amp;quot;&amp;quot; File&lt;br /&gt;
System::Call &amp;#039;${CmSetCreatorIntegrate} (r0, &amp;quot;1&amp;quot;) .R1&amp;#039;&lt;br /&gt;
IntCmp $R1 0 0 Fail Fail&lt;br /&gt;
&lt;br /&gt;
StrCpy $R2 &amp;quot;Module&amp;quot;&lt;br /&gt;
System::Call &amp;#039;${CmSetCreatorModule} (r0, r6) .R1&amp;#039;&lt;br /&gt;
IntCmp $R1 0 0 Fail Fail&lt;br /&gt;
&lt;br /&gt;
File:&lt;br /&gt;
StrCpy $R2 &amp;quot;File&amp;quot;&lt;br /&gt;
StrCmp $7 &amp;quot;&amp;quot; End&lt;br /&gt;
System::Call &amp;#039;${CmSetCreatorFile} (r0, r7) .R1&amp;#039;&lt;br /&gt;
IntCmp $R1 0 0 Fail Fail&lt;br /&gt;
&lt;br /&gt;
DetailPrint &amp;quot;Registered Conduit &amp;#039;$0&amp;#039;&amp;quot;&lt;br /&gt;
GoTo End&lt;br /&gt;
&lt;br /&gt;
Fail:&lt;br /&gt;
DetailPrint &amp;quot;Conduit registration failed with at $R2 - $R1.&amp;quot;&lt;br /&gt;
MessageBox MB_OK|MB_ICONEXCLAMATION &amp;quot;Conduit Registration Failed - $R1.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
End:&lt;br /&gt;
pop $R2&lt;br /&gt;
pop $R1&lt;br /&gt;
pop $R0&lt;br /&gt;
pop $OutDir&lt;br /&gt;
pop $1&lt;br /&gt;
pop $0&lt;br /&gt;
&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function un.UninstallConduit&lt;br /&gt;
; push $creatorID&lt;br /&gt;
;call un.UninstallConduit&lt;br /&gt;
&lt;br /&gt;
exch $0&lt;br /&gt;
push $OutDir&lt;br /&gt;
push $R0&lt;br /&gt;
push $R1&lt;br /&gt;
&lt;br /&gt;
call un.Palm_GetPilotPath&lt;br /&gt;
pop $R0 ; pilotpath&lt;br /&gt;
&lt;br /&gt;
SetOutPath $R0&lt;br /&gt;
System::Call &amp;#039;${CmRemoveConduit} (r0) R1&amp;#039;&lt;br /&gt;
StrCmp $R1 0 Success&lt;br /&gt;
DetailPrint &amp;quot;Conduit Removal Failed - $R1.&amp;quot;&lt;br /&gt;
Goto End&lt;br /&gt;
Success:&lt;br /&gt;
DetailPrint &amp;quot;Conduit Removal Succeeded.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
End:&lt;br /&gt;
pop $R0&lt;br /&gt;
pop $OutDir&lt;br /&gt;
pop $0&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function _SaveSettingString&lt;br /&gt;
; a utility function to save one setting&lt;br /&gt;
; $0 is the ini file name&lt;br /&gt;
; $1 is conduit creator&lt;br /&gt;
; $2 is string name&lt;br /&gt;
&lt;br /&gt;
push $3&lt;br /&gt;
push $4&lt;br /&gt;
&lt;br /&gt;
  StrCpy $3 ${NSIS_MAX_STRLEN}&lt;br /&gt;
  System::Call &amp;#039;${CmGetCreatorValueString} (r1, r2, .r4, r3 r3, &amp;quot;&amp;quot;) R0&amp;#039;&lt;br /&gt;
&lt;br /&gt;
  WriteIniStr $0 &amp;quot;Conduit&amp;quot; $2 $4&lt;br /&gt;
  &lt;br /&gt;
pop $4&lt;br /&gt;
pop $3&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function _SaveSettingInt&lt;br /&gt;
; a utility function to save one setting&lt;br /&gt;
; $0 is the ini file name&lt;br /&gt;
; $1 is conduit creator&lt;br /&gt;
; $2 is setting name&lt;br /&gt;
&lt;br /&gt;
push $4&lt;br /&gt;
&lt;br /&gt;
  System::Call &amp;#039;${CmGetCreatorValueDWord} (r1, r2, .r4, &amp;quot;0&amp;quot;) R0&amp;#039;&lt;br /&gt;
  WriteIniStr $0 &amp;quot;Conduit&amp;quot; $2 $4&lt;br /&gt;
&lt;br /&gt;
pop $4&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function SaveConduitSettings&lt;br /&gt;
; puts all the settings for a particular conduit into a .ini file&lt;br /&gt;
; Usage:&lt;br /&gt;
; push $creatorID&lt;br /&gt;
; push $fileName&lt;br /&gt;
; call SaveConduitSettings&lt;br /&gt;
  exch $0 ; fileName&lt;br /&gt;
  exch&lt;br /&gt;
  exch $1 ; creatorID&lt;br /&gt;
  push $2&lt;br /&gt;
  push $R0&lt;br /&gt;
  &lt;br /&gt;
  push $OutDir&lt;br /&gt;
&lt;br /&gt;
  call Palm_GetPilotPath&lt;br /&gt;
  pop $R0&lt;br /&gt;
  SetOutPath &amp;quot;$R0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  StrCpy $R0 &amp;quot;0&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
 ; MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;creator $1&amp;quot;&lt;br /&gt;
   System::Call &amp;#039;${CmGetCreatorType}(r1) .R0&amp;#039;&lt;br /&gt;
   IntCmp $R0 0 Continue 0 Continue&lt;br /&gt;
;  MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;Problem $R0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  DetailPrint &amp;quot;Conduit not found.&amp;quot;&lt;br /&gt;
  GoTo End&lt;br /&gt;
Continue:&lt;br /&gt;
&lt;br /&gt;
  WriteIniStr $0 &amp;quot;Conduit&amp;quot; &amp;quot;Type&amp;quot; $R0&lt;br /&gt;
  &lt;br /&gt;
  StrCpy $2 &amp;quot;Conduit&amp;quot;&lt;br /&gt;
  call _SaveSettingString&lt;br /&gt;
  &lt;br /&gt;
  StrCpy $2 &amp;quot;Creator&amp;quot;&lt;br /&gt;
  WriteIniStr $0 &amp;quot;Conduit&amp;quot; $2 $1&lt;br /&gt;
 &lt;br /&gt;
  StrCpy $2 &amp;quot;Directory&amp;quot;&lt;br /&gt;
  call _SaveSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;File0&amp;quot;&lt;br /&gt;
  call _SaveSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Remote0&amp;quot;&lt;br /&gt;
  call _SaveSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Name&amp;quot;&lt;br /&gt;
  call _SaveSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Priority&amp;quot;&lt;br /&gt;
  call _SaveSettingInt&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Information&amp;quot;&lt;br /&gt;
  call _SaveSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Username&amp;quot;&lt;br /&gt;
  call _SaveSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Module&amp;quot;&lt;br /&gt;
  call _SaveSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Arguments&amp;quot;&lt;br /&gt;
  call _SaveSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Integrate&amp;quot;&lt;br /&gt;
  call _SaveSettingInt&lt;br /&gt;
  &lt;br /&gt;
End:&lt;br /&gt;
    pop $OutDir&lt;br /&gt;
    pop $R0&lt;br /&gt;
    pop $2&lt;br /&gt;
    pop $1&lt;br /&gt;
    pop $0&lt;br /&gt;
&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function _RestoreSettingString&lt;br /&gt;
; a utility function to save one setting&lt;br /&gt;
; $0 is the ini file name&lt;br /&gt;
; $1 is conduit creator&lt;br /&gt;
; $2 is string name&lt;br /&gt;
&lt;br /&gt;
  push $3&lt;br /&gt;
&lt;br /&gt;
  ReadIniStr $3 $0 &amp;quot;Conduit&amp;quot; $2&lt;br /&gt;
  StrCmp $3 &amp;quot;&amp;quot; End&lt;br /&gt;
  ; we have a value&lt;br /&gt;
  System::Call &amp;#039;${CmSetCreatorValueString}(r1, r2, r3) .R0&amp;#039;&lt;br /&gt;
End:&lt;br /&gt;
  pop $3&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function _RestoreSettingInt&lt;br /&gt;
; a utility function to save one setting&lt;br /&gt;
; $0 is the ini file name&lt;br /&gt;
; $1 is conduit creator&lt;br /&gt;
; $2 is setting name&lt;br /&gt;
&lt;br /&gt;
  push $3&lt;br /&gt;
&lt;br /&gt;
  ReadIniStr $3 $0 &amp;quot;Conduit&amp;quot; $2&lt;br /&gt;
  IntCmp $3 0 End&lt;br /&gt;
  ; we have a value&lt;br /&gt;
  System::Call &amp;#039;${CmSetCreatorValueDWord}(r1, r2, r3) .R0&amp;#039;&lt;br /&gt;
End:&lt;br /&gt;
  pop $3&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function RestoreConduitSettings&lt;br /&gt;
; resets all the settings for a particular conduit, reading them from a .ini file that was saved earlier with SaveConduitSettings&lt;br /&gt;
; Usage:&lt;br /&gt;
; push $creatorID&lt;br /&gt;
; push $fileName&lt;br /&gt;
; call SaveConduitSettings&lt;br /&gt;
  exch $0 ; fileName&lt;br /&gt;
  push $1&lt;br /&gt;
  push $2&lt;br /&gt;
  push $R0&lt;br /&gt;
&lt;br /&gt;
  push $OutDir&lt;br /&gt;
&lt;br /&gt;
  call Palm_GetPilotPath&lt;br /&gt;
  pop $R0&lt;br /&gt;
  SetOutPath $R0&lt;br /&gt;
&lt;br /&gt;
  ReadIniStr $1 $0 &amp;quot;Conduit&amp;quot; &amp;quot;Creator&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  StrCmp $1 &amp;quot;&amp;quot; 0 Continue&lt;br /&gt;
  DetailPrint &amp;quot;Creator id of conduit not found.&amp;quot;&lt;br /&gt;
  GoTo End&lt;br /&gt;
Continue:&lt;br /&gt;
&lt;br /&gt;
  System::Call &amp;#039;${CmRemoveConduit} (r1)&amp;#039;&lt;br /&gt;
  &lt;br /&gt;
  ReadIniStr $2 $0 &amp;quot;Conduit&amp;quot; &amp;quot;Type&amp;quot;&lt;br /&gt;
  System::Call &amp;#039;${CmInstallCreator} (r1, r2)&amp;#039;&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Conduit&amp;quot;&lt;br /&gt;
  call _RestoreSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Directory&amp;quot;&lt;br /&gt;
  call _RestoreSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;File0&amp;quot;&lt;br /&gt;
  call _RestoreSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Remote0&amp;quot;&lt;br /&gt;
  call _RestoreSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Name&amp;quot;&lt;br /&gt;
  call _RestoreSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Priority&amp;quot;&lt;br /&gt;
  call _RestoreSettingInt&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Information&amp;quot;&lt;br /&gt;
  call _RestoreSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Username&amp;quot;&lt;br /&gt;
  call _RestoreSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Module&amp;quot;&lt;br /&gt;
  call _RestoreSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Arguments&amp;quot;&lt;br /&gt;
  call _RestoreSettingString&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 &amp;quot;Integrate&amp;quot;&lt;br /&gt;
  call _RestoreSettingInt&lt;br /&gt;
&lt;br /&gt;
End:&lt;br /&gt;
    pop $OutDir&lt;br /&gt;
    pop $R0&lt;br /&gt;
    pop $2&lt;br /&gt;
    pop $1&lt;br /&gt;
    pop $0&lt;br /&gt;
&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function ConduitGetName&lt;br /&gt;
; given the conduit creator, returns the conduit name. Returns blank if there is no conduit with that creator, or the conduit has not name.&lt;br /&gt;
 exch $0 ; creator&lt;br /&gt;
 push $1&lt;br /&gt;
 push $2&lt;br /&gt;
 push $R0&lt;br /&gt;
&lt;br /&gt;
  push $OutDir&lt;br /&gt;
&lt;br /&gt;
  call Palm_GetPilotPath&lt;br /&gt;
  pop $R0&lt;br /&gt;
  SetOutPath &amp;quot;$R0&amp;quot;&lt;br /&gt;
  StrCpy $2 ${NSIS_MAX_STRLEN}&lt;br /&gt;
;MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;size $2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 System::Call &amp;#039;${CmGetCreatorName}(r0, .r1, r2) .R0&amp;#039;&lt;br /&gt;
 ;MessageBox MB_OK|MB_ICONINFORMATION &amp;quot;result $R0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 StrCpy $0 $1&lt;br /&gt;
 &lt;br /&gt;
 pop $OutDir&lt;br /&gt;
 pop $R0&lt;br /&gt;
 pop $2&lt;br /&gt;
 pop $1&lt;br /&gt;
 exch $0&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function ConduitGetFile&lt;br /&gt;
; given the conduit creator, returns the file name. Returns blank if there is no conduit with that creator.&lt;br /&gt;
 exch $0 ; creator&lt;br /&gt;
 push $1&lt;br /&gt;
 push $2&lt;br /&gt;
 push $R0&lt;br /&gt;
&lt;br /&gt;
  push $OutDir&lt;br /&gt;
&lt;br /&gt;
  call Palm_GetPilotPath&lt;br /&gt;
  pop $R0&lt;br /&gt;
  SetOutPath &amp;quot;$R0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  StrCpy $2 ${NSIS_MAX_STRLEN}&lt;br /&gt;
 &lt;br /&gt;
 System::Call &amp;#039;${CmGetCreatorFile}(r0, .r1, r2) .R0&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 StrCpy $0 $1&lt;br /&gt;
&lt;br /&gt;
 pop $OutDir&lt;br /&gt;
 pop $R0&lt;br /&gt;
 pop $2&lt;br /&gt;
 pop $1&lt;br /&gt;
 exch $0&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Function RemoveConduit&lt;br /&gt;
; Deletes the settings for a conduit&lt;br /&gt;
; Usage:&lt;br /&gt;
; push $creatorID&lt;br /&gt;
; call RemoveConduit&lt;br /&gt;
  exch $0 ; creator&lt;br /&gt;
  push $R0&lt;br /&gt;
&lt;br /&gt;
  push $OutDir&lt;br /&gt;
&lt;br /&gt;
  call Palm_GetPilotPath&lt;br /&gt;
  pop $R0&lt;br /&gt;
  SetOutPath $R0&lt;br /&gt;
&lt;br /&gt;
  System::Call &amp;#039;${CmRemoveConduit} (r0)&amp;#039;&lt;br /&gt;
&lt;br /&gt;
  pop $OutDir&lt;br /&gt;
  pop $0&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
!endif&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userlist.ini ==&lt;br /&gt;
&amp;lt;highlight-ini&amp;gt;&lt;br /&gt;
[Settings]&lt;br /&gt;
NumFields=3&lt;br /&gt;
Title=User Name&lt;br /&gt;
&lt;br /&gt;
[Field 1]&lt;br /&gt;
Type=Label&lt;br /&gt;
Text=After you have selected a user, click &amp;quot;Install&amp;quot;.&lt;br /&gt;
Left=0&lt;br /&gt;
Right=300&lt;br /&gt;
Top=81&lt;br /&gt;
Bottom=102&lt;br /&gt;
&lt;br /&gt;
[Field 2]&lt;br /&gt;
Type=Label&lt;br /&gt;
Text=Choose the Handheld User Name for Installation:&lt;br /&gt;
Left=0&lt;br /&gt;
Right=180&lt;br /&gt;
Top=9&lt;br /&gt;
Bottom=17&lt;br /&gt;
&lt;br /&gt;
[Field 3]&lt;br /&gt;
Type=Droplist&lt;br /&gt;
Text=droplist&lt;br /&gt;
ListItems=&lt;br /&gt;
Left=24&lt;br /&gt;
Right=121&lt;br /&gt;
Top=28&lt;br /&gt;
Bottom=72&lt;br /&gt;
&amp;lt;/highlight-ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hotsync.ini ==&lt;br /&gt;
&amp;lt;highlight-ini&amp;gt;&lt;br /&gt;
[Settings]&lt;br /&gt;
NumFields=1&lt;br /&gt;
Title=Hotsync&lt;br /&gt;
&lt;br /&gt;
[Field 1]&lt;br /&gt;
Type=Label&lt;br /&gt;
Text=Synchronize your handheld computer now to complete your installation.&lt;br /&gt;
Left=0&lt;br /&gt;
Right=270&lt;br /&gt;
Top=19&lt;br /&gt;
Bottom=41&lt;br /&gt;
&amp;lt;/highlight-ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Page author: spekary&lt;/div&gt;</summary>
		<author><name>ConversionBot</name></author>
	</entry>
</feed>