Skip to content

Commit

Permalink
Релиз
Browse files Browse the repository at this point in the history
  • Loading branch information
ahyahy committed Jun 15, 2024
1 parent 59fc670 commit 2f8f9c3
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 19 deletions.
15 changes: 7 additions & 8 deletions docs/OSNC.Algorithm.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,22 +16,21 @@ <H1 class=dtH1>Алгоритм программы</H1></DIV></DIV>
<H4 class=dtH4>Поставленная задача:</H4>
<div style="margin-left: 20px;">
<li>Программа должна создавать исполняемый файл <B>EXE</B>, который запускает указанный стартовый сценарий односкрипта без показа окна терминала.</li>
<li>Файл <B>EXE</B> должен интегрировать в себя стартовый сценарий, чтобы улучшить возможность распространения Вашей программы.</li>
<li>Файл <B>EXE</B> должен интегрировать в себя стартовый сценарий.</li>
<li>Должна быть возможность извлечь стартовый сценарий из <B>EXE</B> файла.</li>
<li>Файл <B>EXE</B> должен интегрировать в себя все необходимые односкриптовые библиотеки нужной версии, чтобы скрипт работал без установленного на машину <B>OneScript</B>.</li>
<li>При просмотре свойств <B>EXE</B> файла должна быть видна информация о версии продукта, авторских правах и другая информация.</li>
</div>
<H4 class=dtH4>Как это сделано:</H4>
<P>Был создан проект на c# с типом выходных данных "Приложение Windows" состоящий из одного файла <B>Program.cs</B>.
С помощью класса <B>Microsoft.CSharp.CSharpCodeProvider</B> из набора файлов компилируется <B>EXE</B> файл.</P>
<P>В наборе файлов есть <B>AssemblyInfo.cs</B> в котором мы задаем информацию для отображения в свойствах <B>EXE</B> файла.
Есть файлы для сохранения текста сценария и содержимого четырех библиотек односкрипта.</P>
<P>В наборе файлов есть <B>AssemblyInfo.cs</B> в котором мы задаем информацию для отображения в свойствах <B>EXE</B> файла и
файл для сохранения текста сценария.</P>
<P>Необходимые данные программа возьмет из отредактированного Вами файла <B>settings.cfg</B>. При его отсутствии он будет создан по шаблону при первом запуске.
Все ошибки программа будет писать в файл <B>error.log</B>.</P>
Все сообщения программа будет писать в файл <B>error.log</B>.</P>
<P>Версия односкрипта будет соответствовать версии приложенных библиотек <B>ScriptEngine.dll</B>, <B>ScriptEngine.HostedScript.dll</B>, <B>OneScript.Language.dll</B>, <B>Newtonsoft.Json.dll</B>.
Сам файл <B>oscript.exe</B> как таковой не используется.
При запуске Вашей скомпилированной программы она первым делом проверит наличие библиотек и при их отсутствии запишет их на диск.
В <B>EXE</B> файл не будут внедрены какие либо другие файлы, внешние библиотеки, возможно необходимые для работы только самого стартового скрипта.</P>
Сам файл <B>oscript.exe</B> как таковой не используется.</P>
<P>При успешной компиляции в каталог будут записаны файлы <B>oscript.cfg</B> и <B>.\lib\package-loader.os</B>.
В каталог <B>.\lib</B> запишите нужные Вам пакеты односкрипта (в большинстве случаев нет необходимости).</P>
<br>
<P>Пишите Ваши предложения по расширению функционала данной разработки.</P>
<P></P>
Expand Down
22 changes: 12 additions & 10 deletions docs/OSNC.MakeExe.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ <H1 class=dtH1>Создание EXE файла запуска стартовог
<li><B>ScriptEngine.HostedScript.dll</B></li>
<li><B>OneScript.Language.dll</B></li>
<li><B>Newtonsoft.Json.dll</B></li>
<P>Версией этих библиотек будет определяться версия односкрипта.</P>
</ul>

</li>
<li>Запустите <B>OneScriptNoConsole.exe</B>.</li>
<li>Программа попытается найти и прочитать из этого же каталога файл настроек <B>settings.cfg</B>.</li>
Expand All @@ -33,14 +35,14 @@ <H1 class=dtH1>Создание EXE файла запуска стартовог

# Значения ключей можно указывать в кавычках или без них.

# Имя exe файла вашего приложения. /outfilename="MyApp"
# Имя exe файла вашего приложения. /outfilename=""MyApp""
#/outfilename=[string]

# Путь до запускаемого файла. Обычно это стартовый сценарий.
# Файл будет внедрен в exe файл. Извлечь стартовый сценарий можно будет
# запустив exe файл с ключем /pullout.
# Для Windows это может выглядеть так: /script="C:\888\os\Приложение.os"
# Для Linux это может выглядеть так: /script="/home/vlad/Projects/444/Приложение.os"
# Для Windows это может выглядеть так: /script=""C:\777\Приложение.os""
# Для Linux это может выглядеть так: /script=""/home/vlad/Projects/444/Приложение.os""
#/script=[string]

# Название компании.
Expand All @@ -61,10 +63,10 @@ <H1 class=dtH1>Создание EXE файла запуска стартовог
# Сведения о торговой марке.
#/trademark=[string]

# Версия сборки. /version="1.0.0.0"
# Версия сборки. /version=""1.0.0.0""
#/version=[string]

# Номер версии файла. /fileversion="1.0.0.0"
# Номер версии файла. /fileversion=""1.0.0.0""
#/fileversion=[string]
</PRE>
<P></P>
Expand All @@ -79,11 +81,11 @@ <H1 class=dtH1>Создание EXE файла запуска стартовог
<div id="caption">Свойства exe файла</div>
</div>
</figure>
<li><B>EXE</B> файл будет содержать в себе четыре библиотеки для работы односкрипта и текст сценария.
При запуске ваша программа проверит наличие библиотек в каталоге и при их отсутствии запишет их в каталог. Таким образом программу можно будет запускать
на компьютере без установленного односкрипта.</li>
<li>После этого можно удалить файлы <B>settings.cfg</B> и <B>error.log</B>, а так же файлы библиотек односкрипта. Все необходимые данные будут
зашиты в исполняемый <B>EXE</B> файл.</li>
<li>В том же каталоге будет сформирован файл <B>oscript.cfg</B>, каталог <B>lib</B> с файлом <B>package-loader.os</B>. Не удаляйте четыре файла библиотек односкрипта.
В каталог <B>lib</B> при необходимости скопируйте нужные Вам пакеты библиотек. В большинстве случаев это не требуется.</li>
<li>После этого можно удалить файлы <B>settings.cfg</B>, <B>error.log</B> и файл стартового сценария. Файл стартового сценария будет интегрирован
в исполняемый <B>EXE</B> файл.</li>
<P>Так как окна терминала у нас не будет все сообщения при компиляции и при работе скомпилированной программы будут записаны в файл <B>error.log</B>.</P>
<P>Если вы запускаете скомпилированный <B>EXE</B> файл в терминале не забудьте перейти командой <B>cd</B> в каталог программы.
При создании ярлыка программы так же нужно будет указать рабочий каталог программы.</P>
<P></P>
Expand Down
1 change: 0 additions & 1 deletion docs/OSNC.Problem.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ <H1 class=dtH1>Известные проблемы</H1></DIV></DIV>
<DIV id=nstext>
<P>В связи с тем, что программа запускает сценарий не из файла на диске, а из строки, возникает проблема получения свойства
<B>СтартовыйСценарий().Источник</B>. Но остается возможным получить свойство <B>СтартовыйСценарий().Каталог</B>.</P>
<P>Время от времени антивирусная программа с эвристикой может определить скомпилированный <B>EXE</B> файл как зараженный. Ищу решение.</P>
<P></P>
<P>Это нужно учесть при использовании программы <B>OneScriptNoConsole.exe</B>.</P>
<P></P>
Expand Down

0 comments on commit 2f8f9c3

Please sign in to comment.