Вопрос по visual-studio-2010, .net – Как опубликовать несколько приложений / процессов с помощью одного клика?

6

Мне нужен процесс с правами администратора. Отэтот На вопрос и ответы кажется, что нет лучшего способа, чем запустить отдельный процесс. Поскольку я предпочел бы иметь процесс, посвященный этому, а не просто запускать мое оригинальное приложение во втором процессе только для этого одного метода & # x2013; Я думал, что просто создам два проекта в одном решении в VS2010. Однако & # x2013; при попытке развернуть его & # x2013; кажется, что я могу публиковать только один из них одновременно. Это не будет делать, потому что я не хочу, чтобы клиент устанавливал более одного & # x2013; и тогда будет также проблема выяснения относительных путей и т. д.

Я не хочу, чтобы оба процесса запускались в качестве приложений. Я хочу, чтобы одно было автозагрузкой, которое вызывает (если необходимо) второе только для одного метода.

Итак, как мне установить два процесса с одной установкой по клику?

Ваш Ответ

2   ответа
10

need to reference second (worker) project from the first (main) project - а затем, если переходите к перм свойствам проекта - & gt; Опубликовать - & gt; Файлы приложений, должны увидеть второй EXE уже как зависимость. Если нет - просто установите & quot; Опубликовать статус & quot; в раскрывающемся меню "Включить".

также - я не уверен, какова ваша цель, но посмотрите на мой пост здесь:Вынудили приложение иметь права администратора - очень похожая проблема с зовом приложения с правами администратора из приложения ClickOnce. Может сэкономить несколько минут.

@ ZacharyCanann Нет, только один.
Создает ли это две иконки на рабочем столе?
Благодарю. Это, кажется, сделало это. ispiro
3

чтобы пользователь устанавливал более одного приложения, вам не нужно иметь несколько развертываний ClickOnce. Что вы действительно хотите, так это одно развертывание. Таким образом, приложение ClickOnce должно быть вашим основным приложением, и вам нужно включить exe из дополнительного приложения в развертывание ClickOnce. Я бы сделал это:

Добавьте копию exe-файла в проект ClickOnce, установите для действия сборки значение «содержание»; и скопировать в выходной каталог в «всегда копировать». Затем выполните сборку и проверьте диалоговое окно «Файлы приложения» в свойствах публикации и убедитесь, что оно отображается.

Теперь, если вы можете построить решение, и оно создает оба проекта, убедитесь, что оно создает проект, который сначала создает исполняемый файл. Затем добавьте команду post-build в проект ClickOnce, которая скопирует ее из выходного каталога первого проекта в выходной каталог второго проекта.

Что произойдет, так это то, что он соберет первый проект, затем соберет проект C / O (и скопирует версию exe проекта ClickOnce в выходной каталог), а затем скопирует самую последнюю версию exe из другой проект в выходной каталог проекта ClickOnce, и затем он создаст развертывание.

Я не эксперт по msbuild, но команда после сборки будет выглядеть примерно так.

COPY / Y & quot; $ (ProjectDir) .... \ otherproject \ bin \ release \ mynew.exe & quot; & Quot; $ TargetDir) \ mynew.exe & Quot;

Это копирует из текущего проекта, вверх на два уровня, другой проект, затем папку bin, затем release + mynew.exe, в выходной каталог сборки. Я не собираюсь иметь структуру каталогов точно в соответствии с другим проектом - вам нужно будет установить это самостоятельно. Но это дает вам общее представление.

Благодарю. Это выглядит многообещающе. ispiro

Похожие вопросы