Запустите Exe из EC2 usedata и запустите его на рабочем столе - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть .exe, который загружает и разархивирует «игру» Unity с S3, а затем запускает ее с помощью Process.Start (). Это должно произойти при запуске EC2, поэтому я использую Userdata для запуска исходного .exe.

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

До сих пор я пытался настроить Process.Start () с информацией, чтобы сказать CreateNoWindow = false, и загрузить профиль пользователя, а не выполнять оболочку. Я также попытался использовать PowerShill Start-Process при запуске начального загрузчика, чтобы указать ему использовать обычное окно. Ни один из них не сработал.

Мои данные пользователя:

<powershell>
& C:\ProgramData\uvue\downloader\Downloader.exe
</powershell>
<persist>true</persist>

Мой загрузчик (server.exe - это "игра" Unity, которая должна запускаться на рабочем столе):

ProcessStartInfo info = new ProcessStartInfo("Build/server.exe");
info.CreateNoWindow = false;
info.LoadUserProfile = true;
info.UseShellExecute = false;

Process p = Process.Start(info);

Если я смотрю на диспетчер задач, я вижу, что server.exe работает в фоновом режиме, но журналы Unity не создаются.

...