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

StackOverflow https://stackoverflow.com/questions/425207

Вопрос

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

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

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

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

Спасибо!

-Адина

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

обновление2:когда я пытаюсь установить под основной учетной записью пользователя, я получаю диалоговое окно с сообщением:"Приложение не может быть запущено.обратитесь к поставщику приложения», а затем появляется кнопка «Подробнее...». Я нажимаю на нее и получаю следующую сводку ошибок:Резюме ошибок ниже представлено краткое изложение ошибок, подробности этих ошибок перечислены позже в журнале.* Активация C:\ADIA\ADIA.application привела к исключению.Были обнаружены следующие сообщения об ошибках:+ Доступ запрещен.(Исключение из HRESULT:0x80070005 (E_ACCESSDENIED))

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top