Рано чи пізно ви відпустіть свій додаток WPF в "вільне плавання". Хоча існують десятки різних способів передати готове додаток з комп'ютера розробника на настільний комп'ютер кінцевого користувача, більшість додатків WPF використовують одну з описаних нижче стратегій розгортання:
Якщо створено WPF-додаток, що складається з веб-сторінок, його можна запускати прямо в браузері. Нічого встановлювати не знадобиться. Однак програма має бути готове до того, щоб функціонувати з дуже обмеженою кількістю привілеїв. (Наприклад, не можна отримувати доступ до довільних файлів, працювати з системним реєстром Windows, відображати спливаючі вікна і т.д.)
Розгортання через браузер
WPF-додатки тісно інтегровані із засобом установки ClickOnce ( "одноразовий клацання"), яке дозволяє користувачеві запустити програму установки зі сторінки браузера. Найкраще те, що додатки, встановлені за допомогою ClickOnce, можуть бути налаштовані так, щоб автоматично перевіряти наявність оновлень. Негативною стороною є те, що можливості по налаштуванню установки обмежені, і немає ніякого способу виконати завдання конфігурації системи (на кшталт модифікації системного реєстру Windows, створення бази даних і т.п.).
Розгортання за допомогою традиційної програми установки
Цей підхід все ще існує в світі WPF. У разі вибору такого варіанту доведеться вирішити, чи потрібно створювати повноцінний інсталяційний пакет Microsoft Installer (MSI) або ж звернутися до більш простої (але і обмеженою) установці ClickOnce. Готовий інсталяційний пакет можна поширювати на CD-диску, як додаток до повідомлення електронної пошти, через загальнодоступний мережевий ресурс і т.д.
Хоча ClickOnce була розроблена як легка технологія розгортання, яка не замінить повноцінні програми установки, кожна нова версія додає до неї ряд нових можливостей. В .NET 4 установка ClickOnce може створювати значки робочого столу і реєструвати типи файлів. До того ж .NET тепер встановлює додаток Firefox під назвою Microsoft .NET Framework Assistant. яке дозволяє користувачам запускати установки ClickOnce з браузерів Firefox і Internet Explorer (природно, якщо це додаток включено).
Існує багато варіантів створення програм установки. Можна скористатися комерційно поширюваним продуктом типу InstallShield. або створити інсталяційний файл MSI за допомогою шаблону Setup Project (Проект установки) в Visual Studio.
Традиційні програми установки пропонують користувачеві добре знайомий інтерфейс майстра установки, з достатком засобів для передачі файлів і виконання різноманітних конфігураційних дій.
Інший варіант - застосування системи розгортання ClickOnce, тісно інтегрованої з WPF. Система ClickOnce має низку обмежень (більшість з них пов'язано з покладеним в основу ClickOnce проектним рішенням), але забезпечує два істотних переваги:
підтримка установки зі сторінки браузера (яка може розміщуватися як у внутрішній мережі, так і в Інтернеті);
підтримка оновлень автоматичного завантаження та встановлення оновлень.
Цих двох засобів може виявитися недостатньо, щоб спокусити розробників відмовитися від використання повноцінних програм установки. Але якщо цікавить просте, легковаге розгортання, яке працює через Інтернет і підтримує автоматичне оновлення, то в цьому випадку ClickOnce - просто ідеальний варіант.
Модель ClickOnce і часткову довіру
Звичайні додатки WPF вимагають повної довіри (full trust). тому що їм потрібні права доступу до некерованого коду для створення вікна WPF. Це означає, що установка автономного додатки WPF допомогою ClickOnce викличе таке ж перешкоду з боку системи безпеки, як і установка будь-якого іншого типу програми з Інтернету - зокрема, браузер видасть попередження безпеки. Якщо користувач погоджується, яке встановлюється додаток отримує можливість робити все, що дозволено робити в системі активного користувача.
ClickOnce працює інакше з більш старими програмами Windows Forms. Додатки Windows Forms можуть бути налаштовані на використання часткової довіри і потім розгорнуті за допомогою ClickOnce. У кращому випадку це означає, що користувач може встановлювати частково довірена додаток Windows Forms через ClickOnce без будь-якого попередження безпеки або підвищення привілеїв.
Може здатися, що підхід Windows Forms краще, але WPF передбачає можливість комбінувати частково довірена програмування і технологію установки ClickOnce. Фокус полягає в використанні моделі ХВАР. У такій ситуації під час запуску програми в браузері, тому йому не потрібно створювати будь-яких вікон, і не потрібні права доступу до некерованого коду. Більш того, оскільки додаток доступний через URL (і потім кешируєтся локально), користувач завжди запускає останню, найсвіжішу версію.
При проектуванні ClickOnce передбачалося мати справу з простими, прямолінійними додатками. Розгортання ClickOnce, зокрема, підходить для виробничих програм і внутрішнього програмного забезпечення компанії. Зазвичай такі додатки виконують свою роботу, спираючись на дані та служби, що надаються серверами додатків середнього рівня. Як наслідок, їм не потрібно привілейований доступ до локального комп'ютера.
Ці додатки також розгортаються в середовищі масштабу підприємства, яка може включати тисячі робочих станцій. В таких середовищах вартість розгортання додатків і їх поновлення досить значна, особливо якщо все це повинно підтримуватися адміністратором. В результаті більш важливо запропонувати простий і прямолінійний процес, ніж розвинений пакет засобів.
Модель ClickOnce також може мати сенс для прикладних програм, які поширюються через Інтернет, зокрема, якщо ці програми вимагають частого оновлення і не висувають суворих вимог до установки. Однак обмеження ClickOnce (такі як недолік гнучкості в налаштуванні майстра установки) роблять цю модель непрактичною для складних прикладних програм, які висувають деталізовані вимоги до установки або потребують у взаємодії з користувачем при виконанні ряду тонких конфігураційних кроків. У таких випадках знадобиться створювати спеціальний додаток установки.
Щоб встановити додаток WPF за допомогою ClickOnce, на комп'ютері вже має бути встановлена виконуючого середовища .NET Framework. Ця вимога перевіряється при першому запуску установки ClickOnce. Якщо виконуючого середовища .NET Framework не встановлена, відображається вікно повідомлення, яке пояснює суть проблеми і пропонує встановити .NET з веб-сайту Microsoft.