Napisałem małą pchełkę na potrzeby wewnętrzne w firmie, która coś tam sobie wysyła po serialu. Wszystko fajnie, ale aplikacja wymaga praw administratora.
Dobra, myślę, może to dlatego że listuje porty szeregowe z rejestru jak nie podasz argumentów – nie.
No to może dlatego, że jest fopen ze ścieżką z argumentu na czytanie i możesz sobie czytać pliki których czytać z jakiegoś powodu może nie powinieneś – nie.
No to może dlatego że używam serial porta? Nie, nie i jeszcze raz nie.
Skompilowałem sobie aplikację pod konsolą ultra długą komendą, bez żadnych makefile’ów, cmake’ów itd. Działa!
Szukam błędu dobrą godzinę to w makefile, to w CMakeLists, po czym się poddałem. Usunąłem wymagającą praw admina updater_app.exe i zmieniłem nazwę roboczego a.exe na docelowe updater_app.exe. Jakie było moje zdziwienie jak na ikonce aplikacji od razu pojawiła się tarcza!
Okazuje się, że słowo „update” triggeruje UAC. „upd.exe” już jest okej.