|
0 / 0 / 0
Регистрация: 20.05.2014
Сообщений: 139
|
|||||||||||||||||||||
Создание папок, файлов в папке с exe-файлом24.05.2015, 17:52. Показов 6710. Ответов 5
Метки нет (Все метки)
Имеется приложение WPF, работающее с БД.
В нем создал три метода: 1) Проверка существования директории, с папке с exe-шником, и её создание, если её нет Кликните здесь для просмотра всего текста
2) Проверка файлов в этой созданной директории, и их создание если их нет Кликните здесь для просмотра всего текста
3) Проверка файла в папке с exe-шником, и его создание, если его нет Кликните здесь для просмотра всего текста
Вызываются они при запуске приложения Кликните здесь для просмотра всего текста
При запуске из студии все работает, проверки выполняются. НО, если я делаю инсталлятор с этим приложение, то при запуске возникает ошибка, указывающая на DirExist в MainWindow. Если не ошибаюсь, ошибка связана с тем, что при проверке папки, файлы и пр. создаются не в папке с exe-шником, а в другом месте, из-за чего приложение не работает. Что надо прописать, чтобы все эти проверки проверяли и создавали, если надо, все директории и файлы, в папке именно с exe-шником?
0
|
|||||||||||||||||||||
| 24.05.2015, 17:52 | |
|
Ответы с готовыми решениями:
5
Функция поиска файла в папке и подпапок получения папок с файлом
|
|
Администратор
|
||||||
| 25.05.2015, 01:46 | ||||||
Сообщение было отмечено lord_commander как решение
Решение
lord_commander, для решения проблемы нужно в первую очередь понять в чем именно она заключается. Для этого необходимо знать тип исключения и строку где оно произошло. Без этого можно только гадать. Возможно проблема в том что текущим каталогом, на который ты неявно полагаешься, является каталог Windows или Program Files куда не разрешена запись без прав админа.
Глядя на код можно сказать что работа с путями организована неаккуратно: слишком много повторений строк и неявная зависимость от текущего каталога который не обязан совпадать с каталогом где находится программа. Кроме того код можно упростить если вместо схемы с if/else обойтись только if. Например DirExists можно переписать так:
1
|
||||||
|
0 / 0 / 0
Регистрация: 20.05.2014
Сообщений: 139
|
|
| 25.05.2015, 04:01 [ТС] | |
|
А не подскажите, как можно узнать где происходит исключение?
При запуске программы, я прописал в MainWindow Debbuger.Launch, чтобы видеть где ошибка. Сделал инсталлятор, установил, запустил - и мне просто показывает, что в методе DirExist, он первым идет, ошибка и все. Причем, если убрать методы DirExist и Copy, оставив prov, то все запускается без ошибки, правда не работает, потому что не в том месте файл создается, и не создаются директории и копии файлов.
0
|
|
|
Администратор
|
|
| 25.05.2015, 11:12 | |
|
lord_commander, поставь try/catch блок вокруг вызова main который записывает исключение в лог. И не забудь положить pdb файл рядом с exe.
Что касается неправильного каталога, то должно помочь замена Environment.CurrentDirectory на AppDomain.CurrentDomain.BaseDirectory.
1
|
|
|
0 / 0 / 0
Регистрация: 20.05.2014
Сообщений: 139
|
|
| 25.05.2015, 17:29 [ТС] | |
|
Спасибо! Помогло.
А для чего нужен файл pdb? Он как-то влияет на запуск и работу приложения? И вопрос немного не по теме: после установки на ПК на которых не установлена VS, при запуске почему-то не происходит подключение к файлу БД. На вскидку, с чем это может быть связано(на ПК со студией, после установки все исправно работает)?
0
|
|
|
Администратор
|
|||
| 25.05.2015, 21:06 | |||
|
0
|
|||
| 25.05.2015, 21:06 | |
|
Помогаю со студенческими работами здесь
6
Вывод количества папок и файлов в заданной папке и их размера
как можно получить список файлов и папок в указанной папке? Как создать список всех файлов и папок в данной папке? Как создать разом ярлыки для всех папок и файлов, находящихся в определённой папке? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|