Hallo,
ich habe da mal noch eine Frage. Die Anwendung, die ich unter "Programme starten" "nach der Installation" aufrufe, erwartet als Parameter <SETUPDIR> und <INSTALLDIR>. Diese Pfadangaben können Leerzeichen enthalten. Wie übergibt man diese Parameter korrekt? Weder
<SETUPDIR> <INSTALLDIR>
(jedes Leerzeichen wird nun als Parametertrennzeichen interpretiert)
noch
"<SETUPDIR>" "<INSTALLDIR>"
(hier erhalte ich nur einen Parameter in der Form
'c:\temp\Installtest" c:\temp\InstallTarget"')
führen zum erwarteten Ergebnis. Ich könnte letzteren Parameter an " teilen, aber es gibt doch bestimmt eine andere Möglichkeit?
tia
Stefan Simon
Parameter an Anwendungen übergeben
-
- Administrator
- Beiträge: 1085
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
-
- Beiträge: 44
- Registriert: 09.02.2007, 16:58
Hallo Herr Kapust,
wie oben schon beschrieben, funktioniert "<SETUPDIR>" "<INSTALLDIR>"
nicht wie erwartet. Ich übergebe beide Pfadangaben an eine .Net Anwendung, der angekommene Parameter lautet
dort 'c:\temp\Install Test" c:\temp\Install Target"'.
Also statt:
Dim f() As String = System.Environment.GetCommandLineArgs
Dim Param1 as String = f(1)
Dim Param2 as String = f(2)
muss ich den Parameter selbst trennen:
Dim f() As String = System.Environment.GetCommandLineArgs
Dim Param1 as String = Split(f(1), """")(0)
Dim Param2 as String = Split(f(1), """")(1)
Klar geht das notfalls, aber ich weiß nicht, ob in einer zukünftigen Version des Installers die Pfade vielleicht doch mal als 2 Parameter übergeben werden.
mfg
Stefan Simon
wie oben schon beschrieben, funktioniert "<SETUPDIR>" "<INSTALLDIR>"
nicht wie erwartet. Ich übergebe beide Pfadangaben an eine .Net Anwendung, der angekommene Parameter lautet
dort 'c:\temp\Install Test" c:\temp\Install Target"'.
Also statt:
Dim f() As String = System.Environment.GetCommandLineArgs
Dim Param1 as String = f(1)
Dim Param2 as String = f(2)
muss ich den Parameter selbst trennen:
Dim f() As String = System.Environment.GetCommandLineArgs
Dim Param1 as String = Split(f(1), """")(0)
Dim Param2 as String = Split(f(1), """")(1)
Klar geht das notfalls, aber ich weiß nicht, ob in einer zukünftigen Version des Installers die Pfade vielleicht doch mal als 2 Parameter übergeben werden.
mfg
Stefan Simon
-
- Administrator
- Beiträge: 1085
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
Guten Tag!
Sie benötigen also beide Pfade als ein Parameter.
Da die Pfad Leerzeichen enthalten, muss der Parameter in Anführungszeichen stehen, klar.
An der Parameterübergabe im Installer wird sich nichts ändern. Es wird also nichts in der Form geben "Parameter".
Entweder Sie benutzen "<SETUPDIR>" "<INSTALLDIR>" oder machen es z. B. so "*<SETUPDIR>* *<INSTALLDIR>*".
Dann filtern Sie alles zwichen * * als Pfad. Oder so: "<SETUPDIR>,<INSTALLDIR>".
Letzteres ist wohl die beste Möglichkeit.
Gruß
A.Kapust
Sie benötigen also beide Pfade als ein Parameter.
Da die Pfad Leerzeichen enthalten, muss der Parameter in Anführungszeichen stehen, klar.
An der Parameterübergabe im Installer wird sich nichts ändern. Es wird also nichts in der Form geben "Parameter".
Entweder Sie benutzen "<SETUPDIR>" "<INSTALLDIR>" oder machen es z. B. so "*<SETUPDIR>* *<INSTALLDIR>*".
Dann filtern Sie alles zwichen * * als Pfad. Oder so: "<SETUPDIR>,<INSTALLDIR>".
Letzteres ist wohl die beste Möglichkeit.
Gruß
A.Kapust