Skocz do zawartości

Plik startowy - dodane własnych parametrów uruchomienia aplikacji

Polecane posty

Chciałbym w pliku startowym dodać specjalne parametry, do uruchomienia mojej aplikacji Sferycznej. Nie widzę nigdzie w generatorze pliku, z programu serwisowego takiej możliwości. Może jest jakoś ukryta, a jak nie, to może mógłbym prosić o dodanie takiej funkcjonalności?

 

Przykładowo, uruchamiam normalną aplikację tak:

Sfera.exe "wartość parametru 1" "wartość parametru 2"

A od strony kodu w aplikacji, wygląda to tak:

 public static int Main(String[] args)
    {
    if(args.Length != 0) 
      {
      var parametr1 = args[0];
      var parametr2 = args[1];
      }
    }

 

Link to postu

Nie da się tego zrobić przy pomocy pliku startowego, ale są inne sposoby.

 

Sposób 1: zaszycie parametrów w manifeście pakietu zawierającego rozwiązanie własne. Ustawia się je jako wartość atrybutu "CommandLineArguments" w elemencie LaunchAction. Niestety, nie da się tego aktualnie wyklikać, bo manifest jest tylko do odczytu, ale pozwolę sobie trochę zaspoilerować wersję 41 i wspomnę, że w nowej wersji naszych szablonów do aplikacji sferycznych będzie się dało automatycznie generować pakiet przy budowaniu projektu i manifest będzie tam oczywiście edytowalny. 

image.thumb.png.116b00e860b5a8de17c0ff34dc9f25c0.png

Wyobrażam sobie, że zaszycie parametrów w pakiecie może jednak nie być najlepszym rozwiązaniem, ale na szczęście jest sposób 2. 

 

Sposób 2: podanie parametrów przy uruchamianiu Launchera, czyli np.: 

 

InsLauncher.exe Nexo/MojScenariusz -- parametr1 parametr2

Kluczową kwestią jest tutaj oddzielenie parametrów dla InsLaunchera od parametrów dla uruchamianej przez niego aplikacji. Do tego właśnie służy separator "--".

Wydaje mi się, że taki sposób uruchamiania nie jest udokumentowany w materiałach dołączonych do SDK, więc postaramy się ten brak jak najszybciej uzupełnić. 

  • Lubię to 1
Link to postu

Hmm, szukam metody na to, że klient będzie mógł sobie sparametryzować aplikację, bez konieczności zabawy z rejestrem, czy plikiem konfiguracyjnym w określonym miejscu i strukturze, dlatego postanowiłem pójść w parametry, bo to łatwo opisać klientowi.

9 godzin temu, Katarzyna Rozmarynowska napisał:

Sposób 1: zaszycie parametrów w manifeście pakietu zawierającego rozwiązanie własne.

To chyba za bardzo skomplikowane, chyba nawet na mnie, ale całkiem fajna opcja, na dystrybucję, może w innym celu skorzystam :)

9 godzin temu, Katarzyna Rozmarynowska napisał:

Sposób 2: podanie parametrów przy uruchamianiu Launchera

I to jest całkiem fajna alternatywa dla pliku startowego z programu serwisowego - jeśli dobrze rozumiem, to mogę na spokojnie zrobić skrót gotowy i zadziała? I to już jest, nie muszę czekać na wersję 41?

Link to postu
Cytat
InsLauncher.exe Nexo/MojScenariusz -- parametr1 parametr2

A można tutaj dopisać też do jakiej bazy ma się łączyć i jakiego ma użytkownika i hasło? Często jest wiele baz u klientów.

 

Dodatkowo, jak można przekazać parametr z spacją? Normalnie wrzucenie w cudzysłów przechodzi, a w tym przypadku mi rozdzieliło dodatkowo spacją w nazwie użytkownika, co przy normalnym wywołaniu nie powinno wystąpić - jako pierwszy archument ogólnie wchodzi mi /uruchomiePrzezInsLauncher, ale widać tak musi być :)

Cytat

"C:\Program Files (x86)\InsERT\nexo\InsLauncher.exe" Nexo/WetArt -- "Imię Nazwisko" "hasło" "10000"

Ok, tutaj sam znalazłem rozwiązanie:

Cytat

"C:\Program Files (x86)\InsERT\nexo\InsLauncher.exe" Nexo/WetArt -- \"Imię Nazwisko\" \"hasło\" \"10000\"

 

Edytowane przez Radomił Ząbik
Uzupełnienie pytania.
Link to postu
W dniu 13.06.2022 o 18:42, Radomił Ząbik napisał:

A można tutaj dopisać też do jakiej bazy ma się łączyć i jakiego ma użytkownika i hasło? Często jest wiele baz u klientów.

Może Pan stworzyć plik startowy w programie serwisowym z zapisanymi ustawieniami serwera i wybranej bazy danych oraz podanym scenariuszem uruchomienia. Następnie przekazać ścieżkę do tego pliku do Launchera wraz z parametrami dla aplikacji. Ostatecznie będzie to wyglądało tak

InsLauncher.exe /StartupFile=SciezkaDoPlikuStartowego -- parametr1 parametr2
Edytowane przez Paweł Kubacki
Link to postu
32 minuty temu, Paweł Kubacki napisał:

Może Pan stworzyć plik startowy w programie serwisowym z zapisanymi ustawieniami serwera i wybranej bazy danych oraz podanym scenariuszem uruchomienia.

Czyli wracamy do ewentualnego wyrzucenia wszystkiego do konfiguracji w pliku. No szkoda.

Ale może gdzieś tam w planach udało by wam się dopisać, rozbudowanie kreatora plików startowych, o możliwość przekazania argumentów. Myślę, że to akurat przydatna opcja :)

Link to postu
×
×
  • Dodaj nową pozycję...