2013-02-14 1 views
0

У меня есть небольшая проблема: я использую некоторые файлы для отчетов о просмотре, когда моя программа запущена, я создал файл .exe setup и отлично работает, потому что в коде есть абсолютный путь, как это:Ошибка пути к файлу при установке готовой программы

 ReportDocument crystalReport = new ReportDocument(); 
     crystalReport.Load("C:\\Program Files\\Electrolytic Capacitor Designer\\Crystal Reports\\SpecSheet.rpt"); 

Когда я установить программу на другом компьютере, и я выбираю этот путь для установки все в порядке, но, очевидно, если я выбрать другой, программа предложит мне исключение, потому что не мог найти файл .....

Есть ли способ или что-то в этом духе, чтобы помочь мне решить эту проблему?

+0

Какая ошибка? Кроме того, удаляется ли файл rpt в месте установки? – Dhawalk

+0

Необработанное исключение произошло в вашем приложении. Если вы нажмете продолжить, приложение проигнорирует эту ошибку и попытается продолжить. Если вы нажмете кнопку «закрыть», приложение немедленно закроется. Load Report Failed Я не знаю, я думаю, что программа не может найти эти файлы .... –

ответ

1

Если ваш путь имеет пробелы, вам нужно будет инкапсулировать путь в кавычки с двойными кавычками. Вам может потребоваться поставить двойную кавычку до StartupPath и после .rpt

+0

но Application.StartupPath это метод, который позволит вам получить этот путь прямо ?, я думаю, что это не может быть строка, потому что не будет обнаружен, правильно? –

+0

Это не вопрос правильного пути ... Если я прав, это может быть из-за пробелов в имени каталога, из-за чего он не находит ваш файл. Таким образом, если вы явно задали путь к каталогу, чтобы иметь стартовую двойную кавычку и конечную двойную кавычку, это может помочь программе правильно обработать путь к файлу и имя файла. – Sun

+0

У вас есть пример кода для этого случая? Я попробую это на –

0

Попробуйте запустить exe в качестве администратора. Если ваш установщик устанавливает его в папку Program Files, у вас будут проблемы с правами на файл.

Если это проблема (или даже если это не так), рассмотрите возможность использования другой папки, такой как папка «Мои документы», вместо исполняемого пути для хранения файлов.

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); 
+0

aaa ok, но если это право помещать эти файлы в папку Debug проекта? –

+0

Это массаж, который я получаю: Когда я пытаюсь открыть txt-файл, он проветрит мне этот массаж: Необработанное исключение произошло в вашем приложении. Если вы нажмете продолжить, приложение проигнорирует эту ошибку и попытается продолжить. Если вы нажмете кнопку «закрыть», приложение немедленно закроется. Не удалось найти часть пути C:/Documents and Settings/100002219/Desktop/Reports/DLFiles –

+0

Возможно, не помешало бы использовать блок try/catch, поместив вас в файл IO. Я не знаю, понимаю ли я проблему ... Почему она ищет на вашем рабочем столе файлы? –

Смежные вопросы