Как установить / развернуть / собрать приложение Visual C #, чтобы оно было доступно всем пользователям? - PullRequest
2 голосов
/ 08 января 2009

Я написал приложение в Microsoft Visual C # 2008 Express Edition.

Компьютер под управлением Windows XP, на котором я хочу установить его, имеет две учетные записи. Одна - это учетная запись администратора, другая - основная учетная запись пользователя, которая не имеет прав администратора.

Я попытался установить приложение в качестве основного пользователя и получил сообщение об ошибке: «Я не администратор». Хорошо. Я попытался установить приложение в качестве учетной записи администратора. Он отлично устанавливается и отлично работает под учетной записью администратора, но, похоже, не доступен в моей основной учетной записи пользователя. Из основной учетной записи пользователя я перешел с помощью проводника Windows туда, откуда я запускаю приложение от имени администратора, и та же ошибка «не удается установить».

Что мне нужно сделать, чтобы сделать это доступным для моей основной учетной записи пользователя?

Спасибо!

-Adeena

Обновление: кто-то спросил эти детали: Я использую схему публикации "ClickOnce" (я думаю, что это единственное, что доступно в Express. Я использую мастер и публикую его в локальной папке на своем компьютере, затем я говорю "пользователь установит с CD-ROM"). (в отличие от веб-сайта или общего ресурса) и выберите «Приложение не будет проверять наличие обновлений»

Update2: Когда я пытаюсь выполнить установку под учетной записью основного пользователя, я получаю диалоговое окно, в котором говорится: «Приложение не может быть запущено. Обратитесь к поставщику приложения». а затем есть кнопка «Подробнее ...», я нажимаю на это и получаю следующее резюме ошибки: РЕЗЮМЕ ОШИБОК Ниже приведена сводная информация об ошибках, подробности об этих ошибках приведены ниже в журнале. * Активация C: \ ADIA \ ADIA.application привела к исключению. Следующие сообщения об ошибках были обнаружены: + Доступ запрещен. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED))

Еще одно замечание ... Это очень простое приложение. Если я скопирую исполняемый файл, который создается, когда я работаю в MS Visual Express, на другую машину и просто запускаю его как мой основной пользователь, он работает нормально.

Ответы [ 5 ]

5 голосов
/ 08 января 2009

Вы не можете изменить проект установки ClickOnce для установки All Users. Они предназначены для установки только для отдельных пользователей. Вам нужно создать установщик MSI. Добавьте новый проект в свое решение, перейдите в раздел Другие типы проектов | Установка и Развертывание | Мастер установки. Это должно помочь тебе, а потом посмотри мой другой ответ.

Не уверен, что это работает в Express, хотя. Если это не так, вам может понадобиться сторонний установщик, такой как Wix или Nullsoft installer .

2 голосов
/ 08 января 2009

Откройте ваш проект установки в Visual Studio. Нажмите на свой проект развертывания, затем нажмите F4, чтобы вызвать свойства. В свойствах переключите InstallAllUsers на true и перестройте ваш проект. Теперь все должно работать так, как вы ожидаете.

1 голос
/ 08 января 2009

Если ваше приложение представляет собой один файл .exe, зачем вообще устанавливать его? Мне нравятся приложения, которые я могу просто скопировать на свой компьютер и запустить без необходимости установки и удаления.

Если вы хотите стать действительно модным, заархивируйте файл .exe вместе с файлом .cmd, который копирует файл .exe в «Program Files» и создает ярлык в меню «Пуск».

Самая сильная сторона ClickOnce - приложения, которые часто меняются. Это позволяет клиенту беспрепятственно обновляться с обновленной версии сервера. Если вы этого не сделаете, основное преимущество использования ClickOnce пропало.

1 голос
/ 08 января 2009

Является ли установка MSI? Если это так, попробуйте MSIEXEC.EXE / I yourpackage.msi ALLUSERS = 1

0 голосов
/ 08 января 2009

A сообщение в блоге в блогах MDSN объясняет, что пользователю без прав администратора требуется разрешение на каталог и раздел реестра, и дает страшный обходной путь.

...