Я работаю над приложением, которое сохраняет файл в Путь. GetDirectoryName (FilePath)
, где FilePath = Application.ExecutablePath
, который содержит некоторую информацию о лицензировании. Если я запускаю программу из VS, она работает нормально, но если я создаю установщик и устанавливаю, а затем запускаю его, программа думает, что файл уже существует. Я изменил свою программу, чтобы отображать в окне сообщения мой FilePath
и то, возвращает ли File.Exists (FilePath)
true
или false
. Итак, я посмотрел на этот путь, включил отображение скрытых и системных файлов, несколько раз нажал F5 и ничего. Файл не существует, но File.Exists (FilePath)
возвращает истину. Есть идеи, почему это происходит, и как я могу это обойти?
Я использую Windows Vista, Visual Studio 2010, C # и создал свой установщик с помощью VS Setup Project.
Изменить: Мой путь: 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
Забыл сказать, что У меня уже было установлено приложение раньше, поэтому файл существовал. Я удалил с помощью панели управления.