Возможно ли создать развертывание ClickOnce для приложения Win Form, чтобы попросить пользователя согласиться с Лицензионным соглашением, прежде чем продолжить?Clickonce запросить лицензионное соглашение
ответ
Answer from MSDN Пользователем Heath8041:
подлый способ получить EULA отображается для приложения ClickOnce в VS2005
Вот вокруг пути, чтобы получить ваши приложения ClickOnce для установки с лицензионным соглашение. В основном вы создаете распространяемый компонент, который можно увидеть в диалоговом окне prerequsites в окне публикации. Это позволяет получить хороший способ, чтобы все ваши приложения повторно использовали одно и то же соглашение, если хотите. Это очень просто, вам нужно только создать три файла («eula.txt», «product.xml» и «package.xml») и две папки в этом случае («EULApackage» и «en»). Я задокументировал все ниже о том, как я подставил. он отлично работает. единственное, что вам нужно изменить, - это имя компонента и, конечно же, вам понадобится лицензионное соглашение с конечным пользователем, сохраненное как eula.txt. Компонент должен быть помещен по следующему пути: C: \ Program Files \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ BootStrapper \ Packages В этой папке вы должны увидеть некоторые вспомогательные папки для других распространяемых компонентов. Сначала создайте новый подкаталог для вашего компонента. Я позвонил своему EULApackage. в этой новой папке вам нужно следующее. -A файл с именем product.xml и к югу папку под названием «ан» (на английском) вы можете делать различные вещи с файлом product.xml, но вот как выглядит мое
<?xml version="1.0" encoding="utf-8" ?>
<Product
xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
ProductCode="EULA.Bootstrap.Component"
>
<!-- Defines list of files to be copied on build -->
<PackageFiles>
<PackageFile Name="en/eula.txt"/>
</PackageFiles>
<Commands>
<Command PackageFile="en/eula.txt"
Arguments='' >
<ExitCodes>
<DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
</ExitCodes>
</Command>
</Commands>
</Product>
* в этом Если файл eula.txt был текстовым файлом, который был моим лицензионным соглашением. Обратите внимание, что это не файл rtf. Rtf не будет корректно отображать этот метод.
Теперь в моем «собственном» вложенный я поместить файл Eula.txt и другой файл XML с именем package.xml, снова этот XML-файл может быть использован, чтобы сделать все виды материала
Heres содержимое моей версии *
<?xml version="1.0" encoding="utf-8" ?>
<Package
xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
Name="DisplayName"
Culture="Culture"
LicenseAgreement="eula.txt">
<PackageFiles>
<PackageFile Name="eula.txt"/>
</PackageFiles>
<!-- Defines a localizable string table for error messages and url's -->
<Strings>
<String Name="DisplayName">Texas Instruments End User License Agreement</String>
<String Name="Culture">en</String>
<String Name="CancelFailure">User Failed to Accept Texas Instruments End User License Agreement.</String>
<String Name="GeneralFailure">A fatal error occurred during the installation of ELUA Component Execution</String>
<String Name="AdminRequired">You do not have the permissions required to install this application. Please contact your administrator.</String>
</Strings>
</Package>
Примечание: все, что вы положили в поле DisplayName является то, что ваш пользователь будет видеть, когда он сталкивается с EULA текстом Если у вас есть все это вместе взятые правильно и в нужных папках, в следующий раз, когда вы запустите VS2005 и перейдите на вкладку публикации -> необходимые условия, которые вы должны увидеть в поле DisplayName , Просто проверьте это как необходимое условие для приложения. , когда пользователь нажимает кнопку установки в файле publish.htm, он представит пользователю коннекты вашего файла eula.txt внутри стандартного диалогового окна принятия лицензии. если вы решите принять ваш материал, то, если они упадут, то он выйдет довольно красиво, и ничто не будет установлено на их системах. Если вы запутались форматирование для любого из двух файлов или если оставить в «собственной» подпапку то компонент не будет отображаться в диалоговом окне Предварительные требования (при публикации)
Дополнительные примечания: хотя это отлично работает, это круглый метод, и их пути вокруг eula, например, если ваш файл publish.htm позволяет им запускать приложение напрямую (я думаю, что без запуска загрузчика), но если они нажмут кнопку установки, он будет запущен , У этого также есть преимущества не запускать каждый раз, когда вы публикуете обновление для своего приложения clickonce. Они должны запустить загрузочную ленту, чтобы показать eula (нажав кнопку установки на publish.htm) Я вычислил этот метод, просмотрев некоторые другие распространяемые компоненты, которые уже были на пути C: \ Program Файлы \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ BootStrapper \ Packages. Вы можете посмотреть в этих других файлах product.xml и package.xml компоненты, чтобы увидеть, какие интересные вещи они сделали с ними. Успехов
perfect, I'musing Visual Studio 2008, поэтому местоположение C: \ Program Files \ Microsoft SDK \ Windows \ v6.0A \ Bootstrapper \ Packages \ Eula – Coppermill
И в Windows 7 64 бит, это место C: \ Program Файлы (x86) \ Microsoft SDK \ Windows \ V6.0A \ BootStrapper \ Packages \ – ForeverWintr
Если кто-то еще пытается заставить это работать, прочитайте всю цепочку ссылок Shay, чтобы найти полное решение. – ForeverWintr
не думаю есть.
Если вы разворачиваете свое приложение с одним кликом с веб-страницы, вы можете согласиться с этим соглашением, прежде чем устанавливать приложение. Эффект будет таким же.
Для тех, кто пытается сделать это будет работать ... Я использую Visual Studio 2008 и Лик Coppermill сказал, расположение «C: \ Program Files \ Microsoft SDKs \ Windows \ v6. 0A \ Bootstrapper \ Packages \»
Я также должен добавить пару других вещей в product.xml:
<?xml version="1.0" encoding="utf-8" ?>
<Product
xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
ProductCode="EULA.Bootstrap.Component"
>
<!-- Defines list of files to be copied on build -->
<PackageFiles CopyAllPackageFiles="false">
<PackageFile Name="en/Empty.exe"/>
</PackageFiles>
<Commands>
<Command PackageFile="en/Empty.exe" Arguments='/silent' >
<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
</ExitCodes>
</Command>
</Commands>
</Product>
Я также пришлось создать„делать ничего“исполняемый иначе elcu.txt бы открыть в блокноте. В любом случае, удачи ...
Я сейчас борюсь с этой проблемой. Как вы добавили ничего не делать? И что вы имеете в виду, добавили в product.xml? – bluebit
Игнорировать комментарий о добавлении ... Я не помню, почему я разместил его. Что касается исполняемого файла «ничего не делать», я просто скомпилировал простую программу на C++, которая сразу же выходит. Я должен был сделать это, потому что он откроет файл elua.txt в блокноте после загрузки его в качестве предварительного. что не то, что я хотел произойти. – 2009-11-04 21:41:09
Вы также можете использовать ничего .bat-файла с теми же результатами. Пример. эхо "Elua Приняты" (сохранить в файле летучей мыши)
Если мы используем Visual Studio 2010, мы добавили его в папку "C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages"
. Он работает сейчас.
Является ли это решением? – Sachin
Я отправляю это как ответ на сообщение Юки Идзуми. Вместо того чтобы использовать пакетный файл, я добавил пустой файл VBS и модифицировал product.xml в
<Command PackageFile="en/empty.vbs" Arguments='' >
Это еще один способ предотвратить Eula.txt от открытия при нажатии кнопки Принять. Я также пытался использовать файл rtf. Это отображается правильно (VS 2015).
- 1. Показать лицензионное соглашение перед загрузкой
- 2. Лицензионное соглашение для XNA-программы
- 3. Печать Лицензионное соглашение в JSF
- 4. Включая лицензионное соглашение в файл .deb
- 5. Добавить лицензионное соглашение с вашим приложением iOS
- 6. Как добавить лицензионное соглашение в проект настройки
- 7. показать лицензионное соглашение в андроиде приложения
- 8. Лицензионное соглашение с конечным пользователем программного обеспечения?
- 9. Лицензионное соглашение сообщества для коммерческого (SaaS) программного обеспечения?
- 10. Лицензионное соглашение об установке Inno Setup Цвет шрифта
- 11. Лицензионное соглашение Adobe AIR, показывающее вместо установленных приложений AIR
- 12. Согласие на лицензионное соглашение на Blackberry, как Facebook
- 13. Jmeter - Как обрабатывать лицензионное соглашение в использовании регистратора сценариев?
- 14. Как поместить лицензионное соглашение в файл spec, RPM
- 15. Приложение отклонено. «Лицензионное соглашение о программе PLAS 3.3.12»
- 16. Лицензионное соглашение разработчика, необходимое для разработки расширений Google Chrome
- 17. Как добавить лицензионное соглашение к установщику приложения AIR?
- 18. Показать лицензионное соглашение в Inno Setup при установке
- 19. Worklight 6.1: Как добавить лицензионное соглашение для гибридного приложения
- 20. Лицензионное соглашение на программное обеспечение для загрузки/обновления
- 21. Добавить лицензионное соглашение для установки проекта в качестве встроенного ресурса?
- 22. Aptana (Eclipse) не разрешил мне принимать лицензионное соглашение
- 23. Вам нужно отобразить лицензионное соглашение при использовании Flurry/Google Analytics?
- 24. Флажок «принять лицензионное соглашение» на Yii и этапы обработки
- 25. Удалить лицензионное соглашение без копирования всех других диалогов в WIX3.5
- 26. Как запросить строку подключения в установщике clickonce?
- 27. Добавить EULA в программу ClickOnce
- 28. cc лицензионное присвоение лицензии
- 29. Лицензионное соглашение для конечного пользователя для проекта с открытым исходным кодом
- 30. Как выйти из приложения IOS, когда Лицензионное соглашение не принято пользователем?
Да, почему бы не использовать его. – Sachin