File.Exists возвращает true для несуществующего файла

Я работаю над приложением, которое сохраняет файл в Путь. 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

Забыл сказать, что У меня уже было установлено приложение раньше, поэтому файл существовал. Я удалил с помощью панели управления.

7
задан Juan 29 November 2010 в 22:10
поделиться