У меня есть проблема, которую, как я догадался, было бы действительно просто решить ... но не важно.
Я развертываю приложение .NET с VS2010.У меня есть проект C # Windows Forms и проект развертывания.Мне нужно, чтобы программа установки работала с правами администратора, потому что приложение установлено для всех пользователей, и была сделана запись в реестре.
При запуске setup.exe у меня нет запроса на повышение привилегий.Установщик просто запустится и предложит установить в Program Files (x86), что хорошо.После нажатия «Далее» программа установки запускается и завершает работу с сообщением об успешном завершенииЧто в основном ложь, потому что она не была успешно установлена.Вместо этого он помещает exe-приложения непосредственно в C: \.
. Как мне заставить установщика запрашивать права администратора.Или я должен положиться на моего клиента, который щелкнет правой кнопкой мыши по настройке и выберет «Запуск от имени администратора», что очень подвержено ошибкам?
Разъяснения по поводу моей настройки :
- В представлении «Файловая система» проекта установки я добавил (среди прочего) «Первичный вывод из проекта 01 (Active)» и «Создание выходов из проекта 01 (Active) в« Папку приложения ». Я также добавил ярлык для»Первичный вывод "в" Меню программ пользователя \ CompanyName \ ProgramName ".
- В представлении реестра я добавил запись в HKEY_CLASSES_ROOT, поскольку мне нужно зарегистрировать обработчик URL.
Я такжеизменил настройки установки: я установил InstallAllUsers в True, потому что он должен был это делать.
Когда я собираю и запускаю setup.exe двойным щелчком (или выбирая Install из контекстного меню проекта), я всегда получаютот же результат: программа установки запускается без запроса прав администратора, запрашивает место установки (которое я оставляю по умолчанию C: \ Program Files (x86) \ Company \ ProgramName) и затем нажимает Далее.В результате исполняемый файл помещается непосредственно в C: \, а созданный ярлык, конечно, указывает на Nirvana.
Если я запускаю setup.exe вручную, как администратор, все работает нормально.Но это не может быть серьезно путь.
Так, как я могу сказать, чтобы установка всегда работала от имени администратора?