Развертывание приложений
ClickOnce - новая технология развертывания приложений, которая делает развертывание основанного на Windows Forms приложения столь же простым, как и развертывание Веб-приложения.
Использование ClickOnce технологии вместе с обфускатором (Inquartos Obfuscator) обеспечивает простоту развертывания (обновления) приложений и одновременно с высокую защищенностью приложения от взлома. В добавок такая комбинация расширяет технологию ClickOnce возможностью сжатия сборок.
Опции обновления
Требуемые права
Настройка параметров развертывания
Внешний вид вкладки Развертывание приложений (с пометками)
Опции:
- Разрешить ClickOnce - Включение режима создания развертываемого приложения после процесса обфускации;
- Издатель - Название компании;
- Продукт - Имя продукта, под этим именем будет создана ссылка в меню Пуск (Пуск\Издатель\Продукт);
- Адрес тех-поддержки - Веб адрес;
- Версия публикации - версия развертываемого приложения;
- Автоматически увеличивать номер компиляции проекта - означает, что при каждой компиляции номер билда будет автоматически увеличиваться;
- Файл сертификата - PFX сертификат которым будет подписываться манифест (обязателен);
- Выбрать из файла - выбор pfx файла на дисковой системе;
- Пароль сертификата - пароль к pfx файлу;
- Культура - Культура (язык) развертываемого приложения;
- Тип приложения - указывает поведение при установке: устанавливаться локально или запускаться без установки приложения;
- Адрес запуска - URL адрес где будет опубликовано приложение;
- Автоматически запускать после установки - указывает, что после установки с адреса по которому он опубликован приложение автоматически запустится;
- Разрешить параметрам URL доходить до приложения;
- Использовать расширение .deploy - указывает что при создании развертываемого приложения к файлам будет добавлено расширение .deploy (например было TestProject.exe, а после компиляции TestProject.exe.deploy);
Пример результата создания развертываемого приложения:
Исходный код: TestProject-click_once_deploy.zip
TestProject.exe.manifest
<?xml version="1.0"
encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1
assembly.adaptive.xsd"
manifestVersion="1.0"
xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
xmlns="urn:schemas-microsoft-com:asm.v2"
xmlns:asmv1="urn:schemas-microsoft-com:asm.v1"
xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<asmv1:assemblyIdentity name="TestProject.exe" version="1.0.0.4"
publicKeyToken="41dd0ffd171f6167"
processorArchitecture="msil" type="win32" />
<application />
<entryPoint>
<assemblyIdentity name="TestProject" version="1.0.0.0" language="neutral"
processorArchitecture="msil" />
<commandLine file="TestProject.exe" parameters="" />
</entryPoint>
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet Unrestricted="true" ID="Custom" SameSite="site" />
<defaultAssemblyRequest permissionSetReference="Custom" />
</applicationRequestMinimum>
</security>
</trustInfo>
<dependency>
<dependentOS>
<osVersionInfo>
<os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
</osVersionInfo>
</dependentOS>
</dependency>
<dependency>
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
<assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime"
version="2.0.50727.0" />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true"
codebase="ClassLibrary1.dll" size="16384">
<assemblyIdentity name="ClassLibrary1" version="1.0.0.0" language="neutral"
processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform
Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>Hr0ZGSgTy0m9IOS6JdKq5zFZUUQ=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true"
codebase="TestProject.exe" size="20480">
<assemblyIdentity name="TestProject" version="1.0.0.0" language="neutral"
processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform
Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>tQoc6vDuLiqaSYn2AUJruW4vhPw=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
Опции обновления
Требуемые права