Windows - uruchomienie programu jako administrator z autostartu

Windows - uruchomienie programu jako administrator z autostartu
BartoSAS
  • Rejestracja:ponad 10 lat
  • Ostatnio:minuta
  • Postów:305
0

Witam,
mam problem dotyczący deployu aplikacji.
Program napisany jest w Qt, skompilowany MSVC. Potrzebuję go uruchomić możliwie jak najszybciej po starcie systemu jako administrator.
Kiedy w harmonogramie zadań lub w autostarcie dla skrótu ustawię "Uruchom jako administrator" program nie zdąży załadować jakiś bibliotek runtime-mowych i krzyczy, że nie może załadować "QPSQL" lub nie startuje wcale.

cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:około 16 godzin
  • Lokalizacja:Poznań
  • Postów:8802
1

BartoSAS
  • Rejestracja:ponad 10 lat
  • Ostatnio:minuta
  • Postów:305
0

Sprawdziłem - niestety wciąż jest bolączka w postaci "QSqlError("", "Driver not loaded", "Driver not loaded")" .

Wykluczyłem problem samych sterowników, bo jak tylko uruchomię ją ręcznie klikając tylko ten exec, to problem znika.

Edit:

  • niestety nie zawsze - jest jakiś też mankament z tym deployem postgresowym - na jednym windowsie 7 działa, na innym nie :/
edytowany 1x, ostatnio: BartoSAS
cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:około 16 godzin
  • Lokalizacja:Poznań
  • Postów:8802
0

Może jeszcze być kwestia, że niektóre usługi/aplikacje się długo odpalają i w chwili, w której Ty się starasz uruchomić swoją apkę, jeszcze jakieś rzeczy nie są gotowe. Spróbuj skorzystać z czegoś w stylu https://www.dobreprogramy.pl/Startup-Delayer,Program,Windows,33672.html i ustal odpalanie Twojego programu z jakimś opóźnieniem rzędu kilkunastu/kilkudziesięciu sekund. Może to pomoże ;)


edytowany 1x, ostatnio: cerrato
Neutral
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Polanów
  • Postów:151
0

Napisz coś w rodzaju Promise z JavaScript. Jeśli będzie w cudzysłowie status 100, to kod ma tak długo czekać, aż status zmieni się na 200 i tak ze wszystkimi modułami do załadowania. Warto jeszcze napisać, że jeśli minie np. 5 minut, to żeby nie czekał, aż się załaduje dany moduł, tylko rzucił błąd np. 404, ponieważ teoretycznie może się tak zdarzyć, że będziesz czekał w nieskończoność, więc po co program ma być włączony cały czas jak nic z tego nie będzie. Lepiej rzucić błędem, ewentualnie wyjątkiem.
Przykład jak to może wyglądać, ale nic nie stoi na przeszkodzie, abyś to inaczej zaimplementował.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.