Развертывание приложения Windows в Visual Studio 2010 Express - PullRequest
0 голосов
/ 18 апреля 2011

Я разработал приложение для Windows на C # в Visual Studio Express 2010. Теперь я хочу развернуть его.

Я использовал publish для развертывания, но когда я запускаю проект, он получает ошибку в форме, где я использовал некоторые внешние файлы, которые я использую для операций ввода-вывода, чтения и записи файлов.

Как мне устранить эту ошибку? Я также использую одну папку для файлов.

Ответы [ 3 ]

1 голос
/ 18 апреля 2011

Я большой поклонник использования WiX для установщиков - даже если у вас есть Visual Studio Pro со встроенными средствами создания MSI

http://wix.sourceforge.net/

Преимущество WiX заключается в том, что вы можете делать практически все что угодно, от супер простого до очень сложного. Это отличный инструмент, потому что вы можете быстро начать работу, а затем двигаться вверх (добавлять диалоги и т. Д.), Когда ваше приложение становится все более популярным.

Один прием для установщиков - рассмотрите возможность использования VMWare / HyperV, установите тестовую ОС, а затем сделайте снимок ОС до установки приложения. Если все работает, отлично - все готово. Однако, если что-то не так, откатите ОС до предустановочного снимка, исправьте ошибку и попробуйте снова.

0 голосов
/ 25 апреля 2012

Это может быть связано с разрешениями Windows 7 UAC. Несмотря на то, что современные книги, msdn и даже фрагменты в Visual Studio описывают методы ввода-вывода файлов, большинство из них неверны, если принять во внимание UAC.

Все ваши файловые операции должны выполняться в безопасных зонах UAC, таких как Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData)

Вы не можете читать или записывать файлы в каталогах C: \ Program Files (x86), если вы не повысили уровень своего приложения для работы с более высокими привилегиями.

Если вы устанавливаете свое приложение и щелкаете правой кнопкой мыши по исполняемому файлу и выбираете «Запуск от имени администратора», и все работает, проблема в UAC.

Если вы не закодировали ограничения UAC, я настоятельно рекомендую ознакомиться с ним. Это избавит от многих головных болей в будущем.

http://www.codeproject.com/Articles/17968/Making-Your-Application-UAC-Aware

0 голосов
/ 18 апреля 2011
  1. Добавить эти внешние файлы в проект
  2. Щелкните правой кнопкой мыши по внешним файлам в вашем VS. Установите действие по сборке как содержимое
  3. Копировать в выходной каталог в CopyAlways

Тогда попробуйте развернуть

...