Я работаю над приложением, которое сохраняет файл в Path.GetDirectoryName(FilePath)
, где FilePath = Application.ExecutablePath
, который содержит некоторую информацию о лицензировании.Если я запускаю программу из VS, она работает нормально, но если я делаю установщик и устанавливаю, а затем запускаю его, программа считает, что файл уже существует.Я изменил свою программу, чтобы в окне сообщения отображался мой FilePath
и File.Exists(FilePath)
возвращает true
или false
.Так что я посмотрел по этому пути, позволил показывать скрытые и системные файлы, несколько раз F5 и ничего.Файл не существует, но File.Exists(FilePath)
возвращает true.Любая идея, почему это происходит, и как я могу обойти это?
Я использую Windows Vista, Visual Studio 2010, C # и создал мой установщик с установочным проектом VS.
Редактировать: Мой путь: C: \ Program Files (x86) \ Helium \ License.xml .
Это часть моего кода:
MessageBox.Show("LicenseFileName: " + LicenseFileName); // LicenseFileName: C:\Program Files (x86)\Helium\License.xml
System.Diagnostics.Process.Start(LicenseFileName); // Nothing happens
MessageBox.Show("File.Exists(LicenseFileName): " + File.Exists(LicenseFileName)); // File.Exists(LicenseFileName): true
Забыл сказать, что у меня уже было приложение, установленное ранее, поэтому файл раньше существовал.Я удалил с помощью панели управления.