<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.miranda-ng.org/index.php?action=history&amp;feed=atom&amp;title=User%3ARMN%2FHow_to_automate_Miranda_compilation_and_update</id>
	<title>User:RMN/How to automate Miranda compilation and update - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.miranda-ng.org/index.php?action=history&amp;feed=atom&amp;title=User%3ARMN%2FHow_to_automate_Miranda_compilation_and_update"/>
	<link rel="alternate" type="text/html" href="https://wiki.miranda-ng.org/index.php?title=User:RMN/How_to_automate_Miranda_compilation_and_update&amp;action=history"/>
	<updated>2026-10-20T01:54:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.miranda-ng.org/index.php?title=User:RMN/How_to_automate_Miranda_compilation_and_update&amp;diff=17808&amp;oldid=prev</id>
		<title>RMN at 22:42, 5 December 2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.miranda-ng.org/index.php?title=User:RMN/How_to_automate_Miranda_compilation_and_update&amp;diff=17808&amp;oldid=prev"/>
		<updated>2015-12-05T22:42:25Z</updated>

		<summary type="html">&lt;p&gt;&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 01:42, 6 December 2015&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-l19&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&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;== Обновление исходников ==&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;== Обновление исходников ==&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;{{Warning|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&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;{{Warning|Этот раздел устарел и нуждается в переработке.}}&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;Перед компиляцией исходники обычно обновляют из SVN-репозитория. Несмотря на все удобства, предоставляемые чудесным SVN-клиентом &amp;#039;&amp;#039;&amp;#039;TortoiseSVN&amp;#039;&amp;#039;&amp;#039;, для автоматизации обновлений нам нужен консольный SVN-клиент. &amp;#039;&amp;#039;&amp;#039;SlikSVN&amp;#039;&amp;#039;&amp;#039; прекрасно подходит для этих целей — часто обновляется, имеет небольшой размер дистрибутива, при установке прописывается в path операционной системы (важно для запуска из пакетных файлов).&amp;lt;!-- Скачиваем и устанавливаем: http://www.sliksvn.com/en/download/.--&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;Перед компиляцией исходники обычно обновляют из SVN-репозитория. Несмотря на все удобства, предоставляемые чудесным SVN-клиентом &amp;#039;&amp;#039;&amp;#039;TortoiseSVN&amp;#039;&amp;#039;&amp;#039;, для автоматизации обновлений нам нужен консольный SVN-клиент. &amp;#039;&amp;#039;&amp;#039;SlikSVN&amp;#039;&amp;#039;&amp;#039; прекрасно подходит для этих целей — часто обновляется, имеет небольшой размер дистрибутива, при установке прописывается в path операционной системы (важно для запуска из пакетных файлов).&amp;lt;!-- Скачиваем и устанавливаем: http://www.sliksvn.com/en/download/.--&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;/table&gt;</summary>
		<author><name>RMN</name></author>
	</entry>
	<entry>
		<id>https://wiki.miranda-ng.org/index.php?title=User:RMN/How_to_automate_Miranda_compilation_and_update&amp;diff=15051&amp;oldid=prev</id>
		<title>RMN: +forgotten link</title>
		<link rel="alternate" type="text/html" href="https://wiki.miranda-ng.org/index.php?title=User:RMN/How_to_automate_Miranda_compilation_and_update&amp;diff=15051&amp;oldid=prev"/>
		<updated>2015-04-13T21:38:20Z</updated>

		<summary type="html">&lt;p&gt;+forgotten link&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 00:38, 14 April 2015&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-l84&quot;&gt;Line 84:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 84:&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;=== Создание архива на выходе в директории Dropbox ===&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;=== Создание архива на выходе в директории Dropbox ===&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;Следующим примером будет упаковка скомпилированного ядра с плагинами в архив и перемещение в папку сервиса &#039;&#039;&#039;Dropbox&#039;&#039;&#039; (В моем случае путь к папке &amp;lt;tt&amp;gt;E:\Dropbox&amp;lt;/tt&amp;gt;, отредактируйте в пакетнике в соответствии с вашими данными) Для создания архивов как нельзя лучше подойдет свободный архиватор &#039;&#039;&#039;7-Zip&#039;&#039;&#039;, качаем и устанавливаем. На выходе получим файл &amp;lt;tt&amp;gt;miranda-0.10.latest-vc2010.7z&amp;lt;/tt&amp;gt; в директории &amp;lt;tt&amp;gt;E:\Dropbox\Public&amp;lt;/tt&amp;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;Следующим примером будет упаковка скомпилированного ядра с плагинами в архив и перемещение в папку сервиса &#039;&#039;&#039;Dropbox&#039;&#039;&#039; (В моем случае путь к папке &amp;lt;tt&amp;gt;E:\Dropbox&amp;lt;/tt&amp;gt;, отредактируйте в пакетнике в соответствии с вашими данными) Для создания архивов как нельзя лучше подойдет свободный архиватор &#039;&#039;&#039;7-Zip&#039;&#039;&#039;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[http://sourceforge.net/projects/sevenzip/files &lt;/ins&gt;качаем&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;] &lt;/ins&gt;и устанавливаем. На выходе получим файл &amp;lt;tt&amp;gt;miranda-0.10.latest-vc2010.7z&amp;lt;/tt&amp;gt; в директории &amp;lt;tt&amp;gt;E:\Dropbox\Public&amp;lt;/tt&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;&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;tt&amp;gt;BuildAndArchive.bat&amp;lt;/tt&amp;gt; со следующим содержимым:&amp;lt;!--Пример автоматической компиляции с созданием архива на выходе--&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;tt&amp;gt;BuildAndArchive.bat&amp;lt;/tt&amp;gt; со следующим содержимым:&amp;lt;!--Пример автоматической компиляции с созданием архива на выходе--&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>RMN</name></author>
	</entry>
	<entry>
		<id>https://wiki.miranda-ng.org/index.php?title=User:RMN/How_to_automate_Miranda_compilation_and_update&amp;diff=14810&amp;oldid=prev</id>
		<title>RMN: User:RMN/How to automate Miranda compilation</title>
		<link rel="alternate" type="text/html" href="https://wiki.miranda-ng.org/index.php?title=User:RMN/How_to_automate_Miranda_compilation_and_update&amp;diff=14810&amp;oldid=prev"/>
		<updated>2015-03-29T14:45:12Z</updated>

		<summary type="html">&lt;p&gt;User:RMN/How to automate Miranda compilation&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{PageLang|ru}}{{DISPLAYTITLE:Примеры использования пакетных файлов для автоматической компиляции и обновления Miranda IM}}&lt;br /&gt;
{{Todo|lang=ru|This guide is a copy of the one from tutorials of &amp;lt;tt&amp;gt;miranda-planet.com&amp;lt;/tt&amp;gt; forums. It needs revision and adaptation to Miranda NG project.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Введение ==&lt;br /&gt;
Перед прочтением данной темы настоятельно рекомендуется ознакомиться с гайдом [[User:RMN/How to compile Miranda plugins on one&amp;#039;s own|Самостоятельная компиляция плагинов Miranda IM]].&lt;br /&gt;
&lt;br /&gt;
При самостоятельной компиляции Miranda IM и плагинов есть немало пунктов, которые можно автоматизировать с помощью пакетных файлов (обновление исходников из SVN, компиляция и даже обновление собственной сборки).&lt;br /&gt;
&lt;br /&gt;
Создать пустой пакетный файл легко: правый клик мыши по свободному полю на рабочем столе или в Эксплорере, выбрать «Создать», из списка выбрать «Текстовый документ». Создается пустой текстовый файл с названием &amp;lt;tt&amp;gt;Новый текстовый документ.txt&amp;lt;/tt&amp;gt;. Переименовываем его в &amp;lt;tt&amp;gt;MyBatch.bat&amp;lt;/tt&amp;gt;. Всё, пакетник готов! Теперь открываем его для редактирования: правый клик по файлу, выбираем пункт «Изменить», файл откроется для редактирования в Блокноте.&lt;br /&gt;
&lt;br /&gt;
Для ленивых выкладываю пакетный файл, который создаст все нижеперечисленные примеры пакетных файлов.&lt;br /&gt;
&lt;br /&gt;
файл CreateBatchFiles.bat&lt;br /&gt;
&lt;br /&gt;
Инструкция к применению: распаковать в корневой директории исходников (рядом с директориями &amp;lt;tt&amp;gt;miranda&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;miranda-tools&amp;lt;/tt&amp;gt;) и запустить &amp;lt;tt&amp;gt;CreateBatchFiles.bat&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Обновление исходников ==&lt;br /&gt;
{{Warning|Внимание! Этот раздел устарел и нуждается в переработке.}}&lt;br /&gt;
Перед компиляцией исходники обычно обновляют из SVN-репозитория. Несмотря на все удобства, предоставляемые чудесным SVN-клиентом &amp;#039;&amp;#039;&amp;#039;TortoiseSVN&amp;#039;&amp;#039;&amp;#039;, для автоматизации обновлений нам нужен консольный SVN-клиент. &amp;#039;&amp;#039;&amp;#039;SlikSVN&amp;#039;&amp;#039;&amp;#039; прекрасно подходит для этих целей — часто обновляется, имеет небольшой размер дистрибутива, при установке прописывается в path операционной системы (важно для запуска из пакетных файлов).&amp;lt;!-- Скачиваем и устанавливаем: http://www.sliksvn.com/en/download/.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В корневой директории исходников (рядом с директориями &amp;lt;tt&amp;gt;miranda&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;miranda-tools&amp;lt;/tt&amp;gt;) создаем пакетный файл &amp;lt;tt&amp;gt;SvnUpdate.bat&amp;lt;/tt&amp;gt; со следующим содержимым:&amp;lt;!--Пример обновления из SVN--&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
svn cleanup&lt;br /&gt;
:: В рабочей копии выполняет поиск и выполнение незавершенных лог файлов, удаляя по ходу выполнения блокировки в рабочей копии.&lt;br /&gt;
&lt;br /&gt;
svn update &amp;gt; update.txt&lt;br /&gt;
:: Собственно выполняет обновление, записывая результаты в файл &amp;quot;update.txt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
svn log -v -l 20 &amp;gt; svn.log&lt;br /&gt;
:: Пишет в файл &amp;quot;svn.log&amp;quot; журнал последних 20-ти событий в SVN репозитории.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Компиляция ==&lt;br /&gt;
=== Автоматизация компиляции ===&lt;br /&gt;
Далее переходим к автоматизации запуска процесса компиляции в &amp;#039;&amp;#039;&amp;#039;MS VS 2010 Express&amp;#039;&amp;#039;&amp;#039; (именно 2010 Express будет рассматриваться во всех примерах). Открываем &amp;lt;tt&amp;gt;miranda32.sln&amp;lt;/tt&amp;gt; в &amp;#039;&amp;#039;&amp;#039;MS VS 2010&amp;#039;&amp;#039;&amp;#039; и настраиваем (статика, динамика, оптимизации), выходим из студии, сохранив изменения. Следующий пример пакетника обновляет исходники, компилирует ядро и плагины, очищает папку &amp;lt;tt&amp;gt;Release Unicode&amp;lt;/tt&amp;gt; от лишнего мусора (папка &amp;lt;tt&amp;gt;Obj&amp;lt;/tt&amp;gt; и дебаг-символы &amp;lt;tt&amp;gt;*.pdb&amp;lt;/tt&amp;gt;). На выходе получаем в &amp;lt;tt&amp;gt;miranda\bin10&amp;lt;/tt&amp;gt; папку &amp;lt;tt&amp;gt;Release Unicode&amp;lt;/tt&amp;gt; c ядром и плагинами и файл журнала компилятора &amp;lt;tt&amp;gt;rebuild.log&amp;lt;/tt&amp;gt;, в который пишется весь процесс компиляции (аналог окна Output в &amp;#039;&amp;#039;&amp;#039;MS VS 2010&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
Создаем в корне исходников пакетный файл &amp;lt;tt&amp;gt;BuildSolution2010.bat&amp;lt;/tt&amp;gt; со следующим содержимым:&amp;lt;!--Пример автоматической компиляции с обновлением из SVN--&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
call SvnUpdate.bat&lt;br /&gt;
:: Вызов пакетника обновления из SVN.&lt;br /&gt;
&lt;br /&gt;
cd miranda\bin10&lt;br /&gt;
:: Переход в директорию &amp;quot;miranda\bin10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
if exist &amp;quot;Release Unicode&amp;quot; rd /Q /S &amp;quot;Release Unicode&amp;quot; &amp;gt;nul&lt;br /&gt;
:: Проверяет наличие папки &amp;quot;Release Unicode&amp;quot; и, при ее наличии, удаляет со всем содержимым.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;%VS100COMNTOOLS%\..\IDE\VCExpress.exe&amp;quot; /OUT rebuild.log /REBUILD &amp;quot;Release Unicode&amp;quot; &amp;quot;miranda32.sln&amp;quot;&lt;br /&gt;
:: Вызов компилятора MS VS 2010 Express, с указанием собрать &amp;quot;miranda32.sln&amp;quot; как &amp;quot;Release Unicode&amp;quot; и создать файл журнала &amp;quot;rebuild.log&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
rd /S /Q &amp;quot;Release Unicode\Obj&amp;quot;&lt;br /&gt;
:: Удаление папки &amp;quot;Obj&amp;quot; со всем содержимым.&lt;br /&gt;
&lt;br /&gt;
del /F /S /Q &amp;quot;Release Unicode\*.pdb&amp;quot;&lt;br /&gt;
:: Удаление файлов дебаг-символов *.pdb, включая поддиректории.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Компиляция для платформы x64 ===&lt;br /&gt;
Всё вышесказанное верно, с той лишь разницей, что указывается &amp;quot;Release Unicode|x64&amp;quot; как желаемый тип платформы в пакетном файле.&lt;br /&gt;
&lt;br /&gt;
Создаем в корне исходников пакетный файл &amp;lt;tt&amp;gt;BuildSolution2010_x64.bat&amp;lt;/tt&amp;gt; со следующим содержимым:&amp;lt;!--Пример автоматической компиляции для платформы x64--&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
call SvnUpdate.bat&lt;br /&gt;
:: Вызов пакетника обновления из SVN.&lt;br /&gt;
::&lt;br /&gt;
cd miranda\bin10&lt;br /&gt;
:: Переход в директорию &amp;quot;miranda\bin10&amp;quot;.&lt;br /&gt;
::&lt;br /&gt;
if exist &amp;quot;Release Unicode&amp;quot; rd /Q /S &amp;quot;Release Unicode&amp;quot;&lt;br /&gt;
:: Проверяет наличие папки &amp;quot;Release Unicode&amp;quot; и, при ее наличии, удаляет со всем содержимым.&lt;br /&gt;
::&lt;br /&gt;
&amp;quot;%VS100COMNTOOLS%\..\IDE\VCExpress.exe&amp;quot; /OUT rebuild.log /REBUILD &amp;quot;Release Unicode|x64&amp;quot; &amp;quot;miranda32.sln&amp;quot;&lt;br /&gt;
:: Вызов компилятора MS VS 2010 Express, с указанием собрать &amp;quot;miranda32.sln&amp;quot; как &amp;quot;Release Unicode|x64&amp;quot; и создать файл журнала &amp;quot;rebuild.log&amp;quot;.&lt;br /&gt;
::&lt;br /&gt;
rd /S /Q &amp;quot;Release Unicode\Obj&amp;quot;&lt;br /&gt;
:: Удаление папки &amp;quot;Obj&amp;quot; со всем содержимым.&lt;br /&gt;
::&lt;br /&gt;
del /F /S /Q &amp;quot;Release Unicode\*.pdb&amp;quot;&lt;br /&gt;
:: Удаление файлов дебаг-символов *.pdb, включая поддиректории.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Создание архива на выходе в директории Dropbox ===&lt;br /&gt;
Следующим примером будет упаковка скомпилированного ядра с плагинами в архив и перемещение в папку сервиса &amp;#039;&amp;#039;&amp;#039;Dropbox&amp;#039;&amp;#039;&amp;#039; (В моем случае путь к папке &amp;lt;tt&amp;gt;E:\Dropbox&amp;lt;/tt&amp;gt;, отредактируйте в пакетнике в соответствии с вашими данными) Для создания архивов как нельзя лучше подойдет свободный архиватор &amp;#039;&amp;#039;&amp;#039;7-Zip&amp;#039;&amp;#039;&amp;#039;, качаем и устанавливаем. На выходе получим файл &amp;lt;tt&amp;gt;miranda-0.10.latest-vc2010.7z&amp;lt;/tt&amp;gt; в директории &amp;lt;tt&amp;gt;E:\Dropbox\Public&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Создаем в корне исходников пакетный файл &amp;lt;tt&amp;gt;BuildAndArchive.bat&amp;lt;/tt&amp;gt; со следующим содержимым:&amp;lt;!--Пример автоматической компиляции с созданием архива на выходе--&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
call SvnUpdate.bat&lt;br /&gt;
:: Вызов пакетника обновления из SVN.&lt;br /&gt;
&lt;br /&gt;
cd miranda\bin10&lt;br /&gt;
:: Переход в директорию &amp;quot;miranda\bin10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
if exist &amp;quot;Release Unicode&amp;quot; rd /Q /S &amp;quot;Release Unicode&amp;quot; &amp;gt;nul&lt;br /&gt;
:: Проверяет наличие папки &amp;quot;Release Unicode&amp;quot; и, при ее наличии, удаляет со всем содержимым.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;%VS100COMNTOOLS%\..\IDE\VCExpress.exe&amp;quot; /OUT rebuild.log /REBUILD &amp;quot;Release Unicode&amp;quot; &amp;quot;miranda32.sln&amp;quot;&lt;br /&gt;
:: Вызов компилятора MS VS 2010 Express, с указанием собрать &amp;quot;miranda32.sln&amp;quot; как &amp;quot;Release Unicode&amp;quot; и создать файл журнала &amp;quot;rebuild.log&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
rd /S /Q &amp;quot;Release Unicode\Obj&amp;quot;&lt;br /&gt;
:: Удаление папки &amp;quot;Obj&amp;quot; со всем содержимым.&lt;br /&gt;
&lt;br /&gt;
del /F /S /Q &amp;quot;Release Unicode\*.pdb&amp;quot;&lt;br /&gt;
:: Удаление файлов дебаг-символов *.pdb, включая поддиректории.&lt;br /&gt;
&lt;br /&gt;
pushd &amp;quot;Release unicode&amp;quot;&lt;br /&gt;
:: Переход в директорию &amp;quot;Release unicode&amp;quot; с запоминанием предыдущей директории.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;%PROGRAMFILES%\7-zip\7z.exe&amp;quot; a -r -mx=9 &amp;quot;miranda-0.10.latest-vc2010.7z&amp;quot;&lt;br /&gt;
:: Создание архива 7-zip &amp;quot;miranda-0.10.latest-vc2010.7z&amp;quot; с использованием максимального сжатия.&lt;br /&gt;
&lt;br /&gt;
copy /V /Y miranda-*.7z &amp;quot;E:\Dropbox\Public&amp;quot;&lt;br /&gt;
:: Копирование файлов по маске &amp;quot;miranda-*.7z&amp;quot; в директорию &amp;quot;E:\Dropbox\Public&amp;quot; (отредактировать путь) с проверкой правильности копирования и подавлением запроса подтверждения на перезапись файла.&lt;br /&gt;
&lt;br /&gt;
popd&lt;br /&gt;
Переход в предыдущую директорию, запомненную командой &amp;quot;pushd&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
rd /S /Q &amp;quot;Release Unicode&amp;quot;&lt;br /&gt;
:: Удаление папки &amp;quot;Release Unicode&amp;quot; со всем содержимым.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Автоматическое обновление сборки ===&lt;br /&gt;
А сейчас перейдем к самому интересному — обновление вашей сборки свежим релизом. Для этого нам понадобится настроить студию на компиляцию только тех плагинов, что вы используете в своей сборке. Копируем из директории &amp;lt;tt&amp;gt;miranda\bin10&amp;lt;/tt&amp;gt; файл &amp;lt;tt&amp;gt;miranda32.sln&amp;lt;/tt&amp;gt; в другое место, переименовываем его в &amp;lt;tt&amp;gt;miranda32_mypack.sln&amp;lt;/tt&amp;gt; и возвращаем в &amp;lt;tt&amp;gt;miranda\bin10&amp;lt;/tt&amp;gt;. Открываем &amp;lt;tt&amp;gt;miranda32_mypack.sln&amp;lt;/tt&amp;gt; и в списке слева делаем по правому клику мыши &amp;quot;Unload&amp;quot; проектам тех плагинов, что не используются в сборке, сохраняем, закрываем студию.&lt;br /&gt;
&lt;br /&gt;
Теперь нужно создать пакетный файл с автоматическим обновлением из SVN, компиляцией, принудительным закрытием работающей Miranda IM и обновлением сборки (в моем случае путь к директории сборки &amp;lt;tt&amp;gt;E:\Miranda&amp;lt;/tt&amp;gt;, отредактируйте в пакетнике в соответствии с вашими данными). Для отмены принудительного закрытия (по желанию) закомментируйте в пакетнике строку &amp;quot;taskkill /F /IM miranda32.exe&amp;quot;, вписав перед строкой &amp;quot;::&amp;quot; или &amp;quot;rem&amp;quot; (без кавычек).&lt;br /&gt;
&lt;br /&gt;
Создаем в корне исходников пакетный файл &amp;lt;tt&amp;gt;BuildAndUpdateMyPack.bat&amp;lt;/tt&amp;gt; со следующим содержимым:&amp;lt;!--Пример автоматической компиляции с последующим обновлением сборки--&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
call SvnUpdate.bat&lt;br /&gt;
:: Вызов пакетника обновления из SVN.&lt;br /&gt;
&lt;br /&gt;
cd miranda\bin10&lt;br /&gt;
:: Переход в директорию &amp;quot;miranda\bin10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
if exist &amp;quot;Release Unicode&amp;quot; rd /Q /S &amp;quot;Release Unicode&amp;quot; &amp;gt;nul&lt;br /&gt;
:: Проверяет наличие папки &amp;quot;Release Unicode&amp;quot; и, при ее наличии, удаляет со всем содержимым.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;%VS100COMNTOOLS%\..\IDE\VCExpress.exe&amp;quot; /OUT rebuild_mypack.log /REBUILD &amp;quot;Release Unicode&amp;quot; &amp;quot;miranda32_mypack.sln&amp;quot;&lt;br /&gt;
:: Вызов компилятора MS VS 2010 Express, с указанием собрать &amp;quot;miranda32_mypack.sln&amp;quot; как &amp;quot;Release Unicode&amp;quot; и создать файл журнала &amp;quot;rebuild_mypack.log&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
rd /S /Q &amp;quot;Release Unicode\Obj&amp;quot;&lt;br /&gt;
:: Удаление папки &amp;quot;Obj&amp;quot; со всем содержимым.&lt;br /&gt;
&lt;br /&gt;
del /F /S /Q &amp;quot;Release Unicode\*.pdb&amp;quot;&lt;br /&gt;
:: Удаление файлов дебаг-символов *.pdb, включая поддиректории.&lt;br /&gt;
&lt;br /&gt;
taskkill /F /IM miranda32.exe&lt;br /&gt;
:: Принудительное закрытие процесса &amp;quot;miranda32.exe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
xcopy /E /V /Y &amp;quot;Release Unicode\*.*&amp;quot; &amp;quot;E:\MirandaIM&amp;quot;&lt;br /&gt;
:: Копирование всего содержимого папки &amp;quot;Release Unicode&amp;quot;, включая поддиректории, в &amp;quot;E:\MirandaIM&amp;quot; (отредактировать путь) с подавлением запроса подтверждения на перезапись файлов.&lt;br /&gt;
&lt;br /&gt;
rd /S /Q &amp;quot;Release Unicode&amp;quot;&lt;br /&gt;
:: Удаление папки &amp;quot;Release Unicode&amp;quot; со всем содержимым.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
Для &amp;#039;&amp;#039;&amp;#039;MS VS 2008 Express&amp;#039;&amp;#039;&amp;#039; все вышесказанное верно, за исключением небольших поправок (путь к самой студии и &amp;lt;tt&amp;gt;*.sln&amp;lt;/tt&amp;gt; в исходниках).&lt;br /&gt;
&lt;br /&gt;
Создаем в корне исходников пакетный файл &amp;lt;tt&amp;gt;BuildSolution2008.bat&amp;lt;/tt&amp;gt; со следующим содержимым:&amp;lt;!--Пример для Visual Studio 2008 express--&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
call SvnUpdate.bat&lt;br /&gt;
:: Вызов пакетника обновления из SVN.&lt;br /&gt;
&lt;br /&gt;
cd &amp;quot;miranda\bin9&amp;quot;&lt;br /&gt;
:: Переход в директорию &amp;quot;miranda\bin9&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
if exist &amp;quot;Release Unicode&amp;quot; rd /Q /S &amp;quot;Release Unicode&amp;quot; &amp;gt;nul&lt;br /&gt;
:: Проверяет наличие папки &amp;quot;Release Unicode&amp;quot; и, при ее наличии, удаляет со всем содержимым.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;%VS90COMNTOOLS%\..\IDE\VCExpress.exe&amp;quot; /OUT rebuild.log /REBUILD &amp;quot;Release Unicode&amp;quot; &amp;quot;miranda32.sln&amp;quot;&lt;br /&gt;
:: Вызов компилятора MS VS 2008 Express, с указанием собрать &amp;quot;miranda32.sln&amp;quot; как &amp;quot;Release Unicode&amp;quot; и создать файл журнала &amp;quot;rebuild.log&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
rd /S /Q &amp;quot;Release Unicode\Obj&amp;quot;&lt;br /&gt;
:: Удаление папки &amp;quot;Obj&amp;quot; со всем содержимым.&lt;br /&gt;
&lt;br /&gt;
del /F /S /Q &amp;quot;Release Unicode\*.pdb&amp;quot;&lt;br /&gt;
:: Удаление файлов дебаг-символов *.pdb, включая поддиректории.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В &amp;#039;&amp;#039;&amp;#039;Visual Studio 2010 Professional&amp;#039;&amp;#039;&amp;#039; вместо &amp;lt;tt&amp;gt;VCExpress.exe&amp;lt;/tt&amp;gt; используется &amp;lt;tt&amp;gt;devenv.exe&amp;lt;/tt&amp;gt;.&amp;lt;!--Пример для Visual Studio 2010 Professional--&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
call SvnUpdate.bat&lt;br /&gt;
:: Вызов пакетника обновления из SVN.&lt;br /&gt;
&lt;br /&gt;
cd miranda\bin10&lt;br /&gt;
:: Переход в директорию&amp;quot; miranda\bin10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
if exist &amp;quot;Release Unicode&amp;quot; rd /Q /S &amp;quot;Release Unicode&amp;quot; &amp;gt;nul&lt;br /&gt;
:: Проверяет наличие папки &amp;quot;Release Unicode&amp;quot; и, при ее наличии, удаляет со всем содержимым.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;%VS100COMNTOOLS%\..\IDE\devenv.exe&amp;quot; /OUT rebuild.log /REBUILD &amp;quot;Release Unicode&amp;quot; &amp;quot;miranda32.sln&amp;quot;&lt;br /&gt;
:: Вызов компилятора Visual Studio 2010 Professional, с указанием собрать &amp;quot;miranda32.sln&amp;quot; как &amp;quot;Release Unicode&amp;quot; и создать файл журнала &amp;quot;rebuild.log&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
rd /S /Q &amp;quot;Release Unicode\Obj&amp;quot;&lt;br /&gt;
:: Удаление папки &amp;quot;Obj&amp;quot; со всем содержимым.&lt;br /&gt;
&lt;br /&gt;
del /F /S /Q &amp;quot;Release Unicode\*.pdb&amp;quot;&lt;br /&gt;
:: Удаление файлов дебаг-символов *.pdb, включая поддиректории.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для желающих подробнее ознакомиться с работой студии из командной строки: [http://msdn.microsoft.com/en-us/library/xee0c8y7.aspx Devenv Command Line Switches Visual Studio 2010].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Выражаю благодарность Mikel-Ard-Ri за первоначальные объяснения, Vasilich за пинок в нужную сторону, Креолу за компиляцию в x64, loqopho за помощь в оформлении темы.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>RMN</name></author>
	</entry>
</feed>