» »

windows servisi - kako dodat parametre?

windows servisi - kako dodat parametre?

NSA Agent ::

Hi, napisal sem en Windows servis, ki pa potrebuje parameter, za delovanje. (pot do konfiguracijske datoteke)
http://www.codeproject.com/Articles/143... tukaj je napisan kako sem naredil servis in kako sem ga namestil s .bat datoteko.

Zdaj pa me zanima kako naj to .bat datoteko spremenim, da bom tudi dodal servisu parametre.
@ECHO OFF

REM The following directory is for .NET 2.0
set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v2.0.50727
set PATH=%PATH%;%DOTNETFX2%

echo Installing WindowsService...
echo ---------------------------------------------------
InstallUtil /i WinService.exe
echo ---------------------------------------------------
echo Done.
Na internetu piše, da naj v registru dodam ključ parameter in not zapišem parameter sam ne dela :S
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VremeWin\Parameters]
"Application"="C:\\test\\nastavitve.txt"

Za pomoč se že vnaprej zahvaljujem.

Looooooka ::

crazy thought...kaj ce bi se drzal .NET standardov in nastavitve pisat v app.config, ki se ga bere iz istega direktorija, kjer tece program oz v primeru user nastavitev iz mape uporabnika...v appdata/smth/smth.
Zakaj tocno pises nastavitve v neko .txt datoteko?

joze67 ::

Lahko uporabiš sc.exe iz resource kit.

nightrage ::

Ne razumem zakaj bi windows servisu rad dodal parameter, če pa je windows service tudi navaden exe, ki ima ob sebi še config file.
Pot do tvoje konfiguracijske datoteke dodaj v config file in zadeva je rešena.

NSA Agent ::

Ja program je exe sam jaz hočem ta isti exe na enem računalniku večkrat zagnat vsakič s drugimi parametri. Oziroma...
Programu lahko dodamo ne omejeno število parametrov. Vsak parameter je pot do konfiguracije datoteke. Ko se servis požene pogleda parameter, prebere podatke iz datoteke in zažene nit, ki nekaj dela. Nato to ponovi za naslednji parameter...
Pač da mi ni treba na enem računalniku narediti 10 servisov kateri bojo delal podobne stvari.
Zadevo sem rešil tako da najprej gre program gledat v "primarno" konfiguracijisko datoteko v kateri so zapisane poti do ostalih konfiguracijiskih datotek v katerih so zapisani parametri.

nightrage ::

Zakaj ne daš ene preproste baze v ozadje iz katere ti program bere te parameter parametre en drug program pa ti jih nastavlja? Drugač pa metoda main ima parameter args, iz katerih lahko prebereš vse parametre naprimer string firstParameter = args[0], ...

NSA Agent ::

@nightrage :: včeraj, 10:44:07
Ja to vem kje so v main parametri. Saj tako sem aplikacijo napisu da mi te parametre iz args bere.

Ja lahka bi imel bazo sam ko pa mam v konfiguraciji parametre kako se na bazo povezat. Bolj je enostavna je .ini datoteka, nimaš nobenih problemov. Takoj ko imaš bazo zadaj maš probleme s dostopnimi časi, povezavo, ... kak heker ti not hekne ...
Linux nima nobene baze, ampak so vse konfiguracije programov shranjene v .conf datotekah in sistem prav fino deluje. (Zakaj bi si življenje po nepotrebnem zakompliciral)

@Looooooka :: 9. maj 2012, 00:26:41
Ka bi lahka dal kal link kok ta app.config dela. Verjetno ima datoteka neko predpisano obliko, kar pa mi ne diši preveč... zato ker vsi vejo kako zadeva deluje.
Pa še sam si omenil pomanjkljivost tega načina ..."ki se ga bere iz istega direktorija, kjer tece program oz v primeru user nastavitev iz mape uporabnika" ... nikoli ne veš od kje program podatke bere.

Pač zadevo moram čimbolj enostavno natrest tako da jo bo lahko stranka sama nastavila in uporabljala. In stranke najrajši enkrat nekaj kliknejo pa se vse samo porihta in dela.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Zaganjanjeprograma v windows iz cmd

Oddelek: Operacijski sistemi
111067 (875) mm&r
»

Dependency Injection

Oddelek: Programiranje
71529 (1297) abyssus
»

[C#] Pravice za spreminjanje in restore baze

Oddelek: Programiranje
51068 (888) nuclear
»

[c#] Vprašanje glede release verzije aplikacije

Oddelek: Programiranje
51504 (1328) Ericssony
»

Spreminanje connectionStringa v app.config C#

Oddelek: Programiranje
6928 (864) Ericssony

Več podobnih tem