<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3704628</guid>
        <pubDate>Mon, 30 Jan 2017 23:58:01 +0000</pubDate>
        <title>Установка нужной версии</title>
        <link>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3704628</link>
        <description><![CDATA[semiono: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">[Setup]</div><div class="code_line">AppName=!</div><div class="code_line">AppVerName=! 0.0.0.0</div><div class="code_line">AllowUNCPath=no</div><div class="code_line">DefaultDirName={code:GetDirName}</div><div class="code_line">DirExistsWarning=no</div><div class="code_line">DisableDirPage=yes</div><div class="code_line">DisableFinishedPage=no</div><div class="code_line">DisableProgramGroupPage=yes</div><div class="code_line">DisableReadyMemo=yes</div><div class="code_line">DisableReadyPage=no</div><div class="code_line">DisableWelcomePage=no</div><div class="code_line">ArchitecturesAllowed=x64</div><div class="code_line">ArchitecturesInstallIn64BitMode=x64</div><div class="code_line">MinVersion=0,6.0</div><div class="code_line">Compression=lzma/ultra64</div><div class="code_line">SolidCompression=yes</div><div class="code_line">OutputDir=.</div><div class="code_line">OutputBaseFilename=zzzz</div><div class="code_line">TouchDate=2001-01-01</div><div class="code_line">TouchTime=00:00:00</div><div class="code_line">Uninstallable=no</div><div class="code_line">UsePreviousAppDir=no</div><div class="code_line">&nbsp;</div><div class="code_line">[Code]</div><div class="code_line">procedure ExitProcess(exitCode:integer); external &#39;ExitProcess@kernel32.dll stdcall&#39;;</div><div class="code_line">&nbsp;</div><div class="code_line">function GetDirName(Value: string): string;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;InstallPath: string;</div><div class="code_line">begin</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;if RegQueryStringValue(HKCU, &#39;Software$&#39;, &#39;Path&#39;, InstallPath) then</div><div class="code_line">&nbsp;&nbsp; &nbsp;Result := InstallPath</div><div class="code_line">&nbsp;&nbsp; &nbsp;else</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp;MsgBox(&#39;$ not exist&#39;, mbCriticalError, mb_Ok)</div><div class="code_line">&nbsp;&nbsp;ExitProcess(0)</div><div class="code_line">&nbsp;&nbsp;end</div><div class="code_line">&nbsp;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">function x(const a: string): Boolean;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Result := not RegValueExists(HKCU, &#39;Software$&#39;, &#39;EEKbLabelWhites&#39;)</div><div class="code_line">&nbsp;&nbsp;if not Result then</div><div class="code_line">&nbsp;&nbsp; &nbsp;RegDeleteValue(HKCU, &#39;Software$&#39;, &#39;EEKbLabelWhites&#39;)</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">function y(const a: string): Boolean;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Result := not RegValueExists(HKCU, &#39;Software$&#39;, &#39;EEKbViewStyle&#39;)</div><div class="code_line">&nbsp;&nbsp;if not Result then</div><div class="code_line">&nbsp;&nbsp; &nbsp;RegDeleteValue(HKCU, &#39;Software$&#39;, &#39;EEKbViewStyle&#39;)</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">function z(): Boolean;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Result := not RegValueExists(HKCU, &#39;Software$&#39;, &#39;EEKbViewStyle&#39;)</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">[Registry]</div><div class="code_line">Root: HKCU; Subkey: &quot;Software$&quot;; ValueType: string; ValueName: &quot;EEKbLabelWhites&quot;; ValueData: &quot;0&quot;; Permissions: everyone-full; Check: x(&#39;&#39;)</div><div class="code_line">Root: HKCU; Subkey: &quot;Software$&quot;; ValueType: string; ValueName: &quot;EEKbViewStyle&quot;; ValueData: &quot;4&quot;; Permissions: everyone-full; Check: y(&#39;&#39;)</div><div class="code_line">&nbsp;</div><div class="code_line">[Files]</div><div class="code_line">Source: &quot;New File.txt&quot;; DestDir: &quot;{code:GetDirName}&quot;; Flags: ignoreversion; Permissions: everyone-full; Check: z</div><div class="code_line">Source: &quot;New File (2).txt&quot;; DestDir: &quot;{code:GetDirName}&quot;; Flags: ignoreversion; Permissions: everyone-full; Check: not z</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
Всё работает правильно&#33; Скажите пожалуйста, здесь можно улучшить код или всё итак оптимально?]]></description>
        <author>semiono</author>
        <category>Инсталляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3703797</guid>
        <pubDate>Tue, 24 Jan 2017 23:07:37 +0000</pubDate>
        <title>Установка нужной версии</title>
        <link>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3703797</link>
        <description><![CDATA[Profi: Все-таки не до конца понятно что именно нужно.]]></description>
        <author>Profi</author>
        <category>Инсталляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3703448</guid>
        <pubDate>Mon, 23 Jan 2017 09:30:13 +0000</pubDate>
        <title>Установка нужной версии</title>
        <link>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3703448</link>
        <description><![CDATA[semiono: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">[Setup]</div><div class="code_line">AppName=!</div><div class="code_line">AppVerName=! 0.0.0.0</div><div class="code_line">DefaultDirName={pf}\!</div><div class="code_line">OutputDir=.</div><div class="code_line">OutputBaseFilename=!</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">[Code]</div><div class="code_line">function x(): Boolean;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;if RegValueExists(HKCU, &#39;Software\a&#39;, &#39;b&#39;) then</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp;Result := true</div><div class="code_line">&nbsp;&nbsp;end</div><div class="code_line">&nbsp;&nbsp;else</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp;Result := false</div><div class="code_line">&nbsp;&nbsp;end</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">[Registry]</div><div class="code_line">; x</div><div class="code_line">Root: HKCU; Subkey: &quot;Software\aaaa&quot;; ValueType: none; ValueName: &quot;b&quot;; Flags: deletevalue noerror; Permissions: everyone-full; Check: x</div><div class="code_line">&nbsp;</div><div class="code_line">; not x</div><div class="code_line">Root: HKCU; Subkey: &quot;Software\aaaa&quot;; ValueType: string; ValueName: &quot;b&quot;; ValueData: &quot;0&quot;; Flags: noerror; Permissions: everyone-full; Check: x</div><div class="code_line">&nbsp;</div><div class="code_line">[Files]</div><div class="code_line">Source: &quot;1.TXT&quot;; DestDir: &quot;{sd}&quot;; Check: x</div><div class="code_line">Source: &quot;2.TXT&quot;; DestDir: &quot;{sd}&quot;; Check: not x</div></ol></div></div></div></div><br>
<br>
Вроде бы реагирует, но как сделать чтобы результат всегда был противоположным?<br>
Сейчас установка реагирует на запись в реестре, но за вторым разом всегда выполняет одно и то же действие.<br>
Мне нужно чтобы инсталятор сам изменял будущее условие.]]></description>
        <author>semiono</author>
        <category>Инсталляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3703417</guid>
        <pubDate>Mon, 23 Jan 2017 07:27:08 +0000</pubDate>
        <title>Установка нужной версии</title>
        <link>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3703417</link>
        <description><![CDATA[Profi: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410198&view=findpost&p=3703373'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>semiono &#064; <time class="tag-quote__quoted-time" datetime="2017-01-22T17:15:04+00:00">22.01.17, 17:15</time></span><div class='quote '>Не пойму что не так?</div></div><br>
<strong class='tag-b'>X</strong> всегда возвращает <strong class='tag-b'>True</strong>. Может дело в этом?]]></description>
        <author>Profi</author>
        <category>Инсталляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3703373</guid>
        <pubDate>Sun, 22 Jan 2017 17:15:04 +0000</pubDate>
        <title>Установка нужной версии</title>
        <link>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3703373</link>
        <description><![CDATA[semiono: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">[Code]</div><div class="code_line">function x(): Boolean;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;if RegValueExists(HKCU, &#39;Software\aaaa&#39;, &#39;bbbb&#39;) then</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp;Result := RegDeleteValue(HKCU, &#39;Software\aaaa&#39;, &#39;bbbb&#39;)</div><div class="code_line">&nbsp;&nbsp;end</div><div class="code_line">&nbsp;&nbsp;else</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp;Result := RegWriteStringValue(HKCU, &#39;Software\aaaa&#39;, &#39;bbbb&#39; ,&#39;0&#39;)</div><div class="code_line">&nbsp;&nbsp;end</div><div class="code_line">end;</div></ol></div></div></div></div><br>
<br>
Не пойму что не так?]]></description>
        <author>semiono</author>
        <category>Инсталляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3703336</guid>
        <pubDate>Sun, 22 Jan 2017 11:37:36 +0000</pubDate>
        <title>Установка нужной версии</title>
        <link>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3703336</link>
        <description><![CDATA[semiono: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">[Code]</div><div class="code_line">function FruityLoopsMainForm(): Boolean;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;if RegValueExists(HKCU, &#39;Software\Image-Line\FL Studio 12\General\FruityLoopsMainForm&#39;, &#39;EEKbLabelWhites&#39;) then</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;Result := true</div><div class="code_line">&nbsp;&nbsp; &nbsp;end</div><div class="code_line">&nbsp;&nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;Result := false</div><div class="code_line">&nbsp;&nbsp; &nbsp;end</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">[Registry]</div><div class="code_line">; FruityLoopsMainForm</div><div class="code_line">Root: HKCU; Subkey: &quot;Software\Image-Line\FL Studio 12\General\FruityLoopsMainForm&quot;; ValueName: &quot;EEKbLabelWhites&quot;; Flags: deletevalue noerror; Permissions: everyone-full; Check: FruityLoopsMainForm</div><div class="code_line">&nbsp;</div><div class="code_line">; not FruityLoopsMainForm</div><div class="code_line">Root: HKCU; Subkey: &quot;Software\Image-Line\FL Studio 12\General\FruityLoopsMainForm&quot;; ValueType: string; ValueName: &quot;EEKbLabelWhites&quot;; ValueData: &quot;0&quot;; Flags: noerror; Permissions: everyone-full; Check: not FruityLoopsMainForm</div></ol></div></div></div></div><br>
<br>
<br>
Секция Registry срабатывает раньше и Code не работает.  &lt;_&lt;<br>
<br>
Нужно сделать, чтобы каждый раз удалалось/записывалось value в реестре согласно условию]]></description>
        <author>semiono</author>
        <category>Инсталляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3703260</guid>
        <pubDate>Sat, 21 Jan 2017 17:50:17 +0000</pubDate>
        <title>Установка нужной версии</title>
        <link>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3703260</link>
        <description><![CDATA[semiono: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">[Setup]</div><div class="code_line">AppName=!</div><div class="code_line">AppVerName=! 0.0.0.0</div><div class="code_line">DefaultDirName={pf}\!</div><div class="code_line">OutputDir=.</div><div class="code_line">OutputBaseFilename=!</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">[Code]</div><div class="code_line">function FruityLoopsMainForm(): Boolean;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;if RegDeleteValue(HKEY_CURRENT_USER, &#39;Software\Image-Line\FL Studio 12\General\FruityLoopsMainForm&#39;, &#39;EEKbLabelWhites1&#39;) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; Result := true</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">[Files]</div><div class="code_line">Source: &quot;1.TXT&quot;; DestDir: &quot;{sd}&quot;; Check: FruityLoopsMainForm</div><div class="code_line">Source: &quot;2.TXT&quot;; DestDir: &quot;{sd}&quot;; Check: not FruityLoopsMainForm</div></ol></div></div></div></div><br>
<br>
Что-то не получается  :&#39;(<br>
<br>
Похоже моя функция ничего не возвращает, а как это сделать?]]></description>
        <author>semiono</author>
        <category>Инсталляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3702418</guid>
        <pubDate>Mon, 16 Jan 2017 20:46:57 +0000</pubDate>
        <title>Установка нужной версии</title>
        <link>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3702418</link>
        <description><![CDATA[Profi: <a class='tag-url' href='http://www.jrsoftware.org/ishelp/index.php?topic=scriptcheck' target='_blank'><strong class='tag-b'>Check</strong></a>?]]></description>
        <author>Profi</author>
        <category>Инсталляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3702340</guid>
        <pubDate>Mon, 16 Jan 2017 12:46:14 +0000</pubDate>
        <title>Установка нужной версии</title>
        <link>https://forum.sources.ru/index.php?showtopic=410198&amp;view=findpost&amp;p=3702340</link>
        <description><![CDATA[semiono: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">[Setup]</div><div class="code_line">AppName=FL</div><div class="code_line">AppVerName=FL 12.4.1.0</div><div class="code_line">&nbsp;</div><div class="code_line">DefaultDirName={code:GetDirName}</div><div class="code_line">DisableDirPage=yes</div><div class="code_line">&nbsp;</div><div class="code_line">DisableFinishedPage=no</div><div class="code_line">DisableReadyPage=no</div><div class="code_line">DisableWelcomePage=no</div><div class="code_line">&nbsp;</div><div class="code_line">[Code]</div><div class="code_line">procedure ExitProcess(exitCode:integer); external &#39;ExitProcess@kernel32.dll stdcall&#39;;</div><div class="code_line">&nbsp;</div><div class="code_line">function GetDirName(Value: string): string;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;InstallPath: string;</div><div class="code_line">begin</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;if RegQueryStringValue(HKCU, &#39;Software\Image-Line\Shared\Paths&#39;, &#39;Shared DLLs&#39;, InstallPath) then</div><div class="code_line">&nbsp;&nbsp; &nbsp;Result := InstallPath</div><div class="code_line">&nbsp;&nbsp; &nbsp;else</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp;MsgBox(&#39;FL not exist&#39;, mbCriticalError, mb_Ok)</div><div class="code_line">&nbsp;&nbsp;ExitProcess(0)</div><div class="code_line">&nbsp;&nbsp;end</div><div class="code_line">&nbsp;</div><div class="code_line">end;</div></ol></div></div></div></div><br>
<br>
Нужен какой-нибудь способ замены файла, напримрер: elastique_x64.dll, например на более старую версию.<br>
<br>
Либо просто замена после проверки, например:<br>
(<span class="tag-color tag-color-named" data-value="blue" style="color: blue">If</span>) если запись в реестре существует, то копируется один файл,<br>
если записи не существует, (<span class="tag-color tag-color-named" data-value="blue" style="color: blue">then</span>)то копируется другой файл... <br>
Запись в реестре нужно заодно удалять в одном из условий.<br>
<br>
Пусть ориентиром будет EEKbLabelWhites:<br>
Root: HKCU; Subkey: &quot;Software&#092;Image-Line&#092;FL Studio 12&#092;General&#092;FruityLoopsMainForm&quot;; ValueName: &quot;<span class="tag-color tag-color-named" data-value="purple" style="color: purple">EEKbLabelWhites</span>&quot;; Flags: deletevalue noerror; Permissions: everyone-full<br>
<br>
Выше часть моего инсталятора, чтобы не подгонять потом под код, ато я плохо в паскале ориентируюсь.<br>
И я не знаю как в секции [Files] устанавливать выборочно нужные группы файлов. <br>
Установка без диалогов.<br>
<br>
Смысл в универсальности установки: обновления/отката в одном инсталяторе. Просто как грамотно написать.]]></description>
        <author>semiono</author>
        <category>Инсталляторы</category>
      </item>
	
      </channel>
      </rss>
	