Упрощение настройки и развертывания в C # - PullRequest
2 голосов
/ 01 апреля 2009

Я сделал заявление, которое постоянно обновляется. Поэтому каждый раз, когда происходит изменение, я должен снова и снова включать его свежие сборки в программу установки и развертывания. Есть ли способ упростить процедуру? Добавляемые файлы являются статичными по количеству и существуют в папке. Я слышал, что мы можем написать установочные классы на c #, мое требование как-то связано с этим?

Я думаю, что ClickOnce не удовлетворяет моим требованиям, потому что впервые я хочу, чтобы он запускался как пакет установки, поскольку в нем есть несколько пакетов и некоторые параметры, которые необходимо реализовать на компьютере пользователя во время установки. Может щелкнуть один раз, чтобы помочь мне с этим? Также я хочу запустить свое приложение от имени администратора, и оно ссылается на множество внешних DLL-файлов. Так поможет ли это моей цели?

Я, наконец, сделал это с помощью развертывания clickonce. Я использовал файлы содержимого, чтобы отметить все файлы, которые хотел скопировать на целевой компьютер, и использовал развертывание clickonce. Затем я изменил способ запуска моей программы, чтобы я мог запустить сценарий установщика, который хотел запустить, только когда приложение запускается в первый раз. Далее я разместил его на IIS, и мне пришлось изменить много типов MIME и добавить новые для загрузки для работы через Интернет

Ответы [ 6 ]

5 голосов
/ 01 апреля 2009

Посмотрите на то, что называется "ClickOnce" развертывания. Это автоматизирует многое из того, о чем вы говорите.

РЕДАКТИРОВАТЬ: Вы можете добавить пользовательские действия установщика в проект ClickOnce, как и любые другие, для установки дополнительных компонентов и всего такого. Что касается разрешений, ClickOnce позволит вам работать от имени администратора, если вы того пожелаете, но такого рода вещи не рекомендуется, и он может скулить по этому поводу.

3 голосов
/ 01 апреля 2009

Вы можете использовать ClickOnce (http://msdn.microsoft.com/en-us/library/t71a733d(VS.80).aspx), что упрощает процесс развертывания. Возможно, вы также можете автоматизировать процесс сборки, используя NANT (http://nant.sourceforge.net/).

НТН

2 голосов
/ 01 апреля 2009

Да, вы можете сделать это. Я предполагаю, что вы хотите, чтобы клиент обновлялся при появлении новой версии.

Это требует нескольких изменений в клиентском коде. По сути, как это работает, это проверить наличие новой версии в предопределенном месте. Обновите новые версии для этого места. На стороне клиента покажите пользователю сообщение, если он / она хочет перейти на новую версию.

Вы можете найти ссылку на пример проекта здесь и здесь .

1 голос
/ 01 апреля 2009

Какой это тип проекта? Во многих случаях ClickOnce может выполнить эту работу за вас с минимальными усилиями.

Помимо этого - обычно вы можете подключить сборку вашего установщика к процессу сборки; некоторые инструменты сделают это за вас.

Классы установщика запускаются на клиенте - поэтому я не думаю, что они относятся к вашему процессу сборки ...

1 голос
/ 01 апреля 2009

Вы можете добавить проект установки в решение в Visual Studio, а затем добавить выходные данные других проектов или статические файлы в проект установки в качестве ссылок. Затем проект установки автоматически обнаружит ваши зависимости и каждый раз, когда вы делаете Rebuild All (или вы перестраиваете / строите свой проект установки), он автоматически включает все необходимые файлы.

0 голосов
/ 01 апреля 2009

Я бы пометил файлы как Содержимое в соответствующих свойствах, а затем в проекте развертывания щелкните правой кнопкой мыши проект, перейдите в Файловую систему, затем щелкните правой кнопкой мыши папку, нажмите кнопку Добавить и выберите «Файлы содержимого» в диалоговом окне. Это должно копировать новейшие файлы каждый раз, когда вы создаете проект развертывания.

...