Скрытый файл с установкой мастера установки - PullRequest
0 голосов
/ 02 февраля 2019

Я занимаюсь разработкой приложения wpf c # с управлением лицензией.когда клиент получает свою лицензию, приложение позволяет ему импортировать его с помощью OpenFileDialog, этот файл лицензии представляет собой XML (License.xml).При импорте этого файла он копируется в «ExecutablePath»

            openFileDialog.ShowDialog();
        string filePath = openFileDialog.FileName.Trim();
        if (filePath != string.Empty)
        {
            string filename = Path.GetFileName(filePath);
            if (filename.ToUpper() == "LICENCE.XML")
            {
                if (!ReadLicense(filePath))
                {
                    return false;
                }
                else
                {
                    string destPath = Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath);
                    File.Copy(filePath, Path.Combine(destPath, filename), true);
                    return true;
                }
            }
            else
            {
                return false;
            }
        }

Приложение перезапускается и распознает его.

    if (GetLicenceFile())
{
    App.Current.Shutdown();
    System.Windows.Forms.Application.Restart();
}

В режиме отладки этот файл копируется правильно и отображается впапка «C: \ Program Files (x86) \ AppName».Если я скопирую папку выпуска в «C: \ Program Files (x86) ..», она тоже будет работать нормально.

Приложение устанавливается мастером установки, при запуске приложения запрашивает лицензию ипосле импорта распознает и запускает, все работает нормально.Что меня спрашивает, так это то, что файл лицензии (License.xml) не виден в папке установки («C: \ Program Files (x86) \ AppName»), но он находит его правильно.Я помещаю снифферы, чтобы смотреть так:

File.AppendAllText(@"G:\Sniffers\path.txt", destPath + " : Licence path\n");

Если я удаляю приложение из панели управления, «C: \ Program Files (x86) \ AppName» полностью исчезает, но при следующей установке приложение запускаетсяпутем нахождения лицензии, а файл, который должен находиться в «C: \ Program Files (x86) \ AppName», должен быть удален при удалении.

Мы можем подумать, что «License.xml»копирование в другом месте.

Я не понимаю, почему я не могу найти этот файл с помощью мастера установки, даже поиск Windows Explorer не находит его даже с параметрами скрытого файла.

Идея?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...