Простой C ++ ofstream проект не работает при развертывании - PullRequest
1 голос
/ 27 февраля 2020

Я сделал очень простую программу на C ++, которая создает файл .sav с надписью «Hey». Программа отлично работает, когда я запускаю ее в Visual Studio 2019, но после развертывания моей программы на моем компьютере, когда я запускаю развернутый файл .exe, она ничего не делает.

Я использую Visual Studio 2019 на Windows 10. Моя программа и мой файл установки настроены как в выпуске, так и в режиме x86, моя программа настроена статически связанной (я изменил библиотеку времени выполнения моей программы на Многопоточный (/ MT) ). Я развернул свой проект, следуя инструкциям этой статьи: https: //docs.microsoft.com/en-us/cpp/ide/walkthrough-deploying-your-program-cpp?view=vs-2019

После создания файла установки и запуска созданного установщика .msi, установленная программа даже не создает файл .sav после запуска.

Вот мой код:

#include <fstream>

int main()
{

std::ofstream Yes;
Yes.open("Sc.sav");
Yes << "Hey" << std::endl;
Yes.close();

return 0;
}

Что я делаю не так?

Заранее спасибо.

1 Ответ

0 голосов
/ 28 февраля 2020

Итак, я выяснил, что это было, благодаря вашим комментариям: моему приложению требовались права администратора для создания файла, поэтому мне пришлось либо попросить пользователя о правах администратора, либо сохранить свой файл там, где мне не нужно было иметь эти права.

Я выбрал второе решение и сохранил свой файл в каталоге C: \ AppData \ Roaming, где программы могут сохранять свои файлы, не спрашивая разрешения.

Еще раз спасибо за Ваша помощь и внимание.

...