Создание инсталляций на основе ClickOnce

 

Развертывание приложений

 

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>


Опции обновления
Требуемые права



 

 

 
15.11.2008
 
 
 
 
10.12  .NET Reactor
15.11  n
15.11  C# ClickOnce
 
11.10  GAC и ngen
10.10  SqlTypes