Zeile 2 einer beliebigen Textdatei befüllen

tschmidt
Beiträge: 40
Registriert: 10. Dez 2009, 11:33
Kontaktdaten:

Zeile 2 einer beliebigen Textdatei befüllen

Beitrag von tschmidt » 18. Mai 2011, 15:56

Hallo Paketierer,
Ich möchte gerne in einer Config Datei vom TotalCommander in der zweiten Zeile etwas eintragen.
Hat jemand eine Idee wie man das machen kann ?

Folgende Lösung steht mir bis jetzt zur Verfügung doch es wird ja nicht in Zeile 2 eingetragen.

Code: Alles auswählen

callhidden cmd.exe /c echo pref("browser.xyz", "abc222"); >> "%ProgramFilesDir%\Mozilla Firefox
Bitte um Hilfe.
Vielen Dank für alle Antworten

Benutzeravatar
r.wiegel
Beiträge: 855
Registriert: 05. Feb 2010, 13:45
Wohnort: Regensburg
Kontaktdaten:

Re: Zeile 2 einer beliebigen Textdatei befüllen

Beitrag von r.wiegel » 18. Mai 2011, 16:06

Hallo,

wäre das für Sie eine Alternative:
...
[SET:Installation]
...
Call xcopy /I /Y /Q "%src%\firefox.js" "%PROGRAMFILES%\Mozilla Firefox\defaults\pref\"
Call xcopy /I /Y /Q "%src%\mozilla.cfg" "%PROGRAMFILES%\Mozilla Firefox\"


firefox.js:
pref("general.config.obscure_value", 0);
pref("general.config.filename", "mozilla.cfg");
pref("network.proxy.autoconfig_url", "http://....");

mozilla.cfg:
lockPref("app.update.enabled", false);
lockPref("extensions.update.enabled", false);
lockPref("browser.search.update", false);
lockPref("browser.startup.homepage", "www.google.de");

weitere Optionen:
firefox: about:config

Gruß
Viele Grüße
Roman Wiegel
IT-Consultant

MR Datentechnik - Vertriebs- und Service GmbH
Client Management

tschmidt
Beiträge: 40
Registriert: 10. Dez 2009, 11:33
Kontaktdaten:

Re: Zeile 2 einer beliebigen Textdatei befüllen

Beitrag von tschmidt » 18. Mai 2011, 16:18

Vielen Dank für Ihre Antwort.
Leider hilft mir das wenig weiter, da es nicht, wie fälschlicherweise von mir im "Code" benannt um ein Firefox Paket handelt sondern um ein TotalCommander Paket.
Ich muss in die Zeile 2 der wincmdu.ini einen Eintrag setzen.

In der ersten Zeile steht : "[Configuration]". Der von mir gewünschte Eintrag muss in den Bereich hinein.

Geht das evtl mit der ini:Prduct Sektion ?
Add ?

Mir steht zur Zeit nur die Dokumentation von Emp12.X zur Verfügung, deshalb bin ich leider etwas blind.

Benutzeravatar
r.wiegel
Beiträge: 855
Registriert: 05. Feb 2010, 13:45
Wohnort: Regensburg
Kontaktdaten:

Re: Zeile 2 einer beliebigen Textdatei befüllen

Beitrag von r.wiegel » 18. Mai 2011, 16:59

sicher:
z.B.:
[Ini:Product]
;"C:\notes\notes.ini","Notes",,"PromptForLocation=1"
"%CommonAppData%\Datei.ini","Configuration",,"EXTMGR_ADDINS=CorpDesk.dll"

Gruß
Viele Grüße
Roman Wiegel
IT-Consultant

MR Datentechnik - Vertriebs- und Service GmbH
Client Management

tschmidt
Beiträge: 40
Registriert: 10. Dez 2009, 11:33
Kontaktdaten:

Re: Zeile 2 einer beliebigen Textdatei befüllen

Beitrag von tschmidt » 18. Mai 2011, 17:44

r.wiegel hat geschrieben:sicher:
z.B.:
[Ini:Product]
;"C:\notes\notes.ini","Notes",,"PromptForLocation=1"
"%CommonAppData%\Datei.ini","Configuration",,"EXTMGR_ADDINS=CorpDesk.dll"
Vielen Dank für Ihre Hilfe. Das war genau das wonach ich gesucht habe.
Jetzt benötige ich aber noch eine Fallunterscheidung da die ini Einträge nur gesetzt werden sollen wenn es ein deutsches OS ist.
If DoesRegKeyExist("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MUI\UILanguages\de-DE") == "0" Then "Deutsch" EndIf

[Deutsch]
"U:\xxx\wincmdu.ini","Configuration",,"LanguageIni=WCMD_DEU.LNG"
"U:\xxx\wincmdu.ini","Configuration",,"Mainmenu=WCMD_DEU.mnu"

Benutzeravatar
r.wiegel
Beiträge: 855
Registriert: 05. Feb 2010, 13:45
Wohnort: Regensburg
Kontaktdaten:

Re: Zeile 2 einer beliebigen Textdatei befüllen

Beitrag von r.wiegel » 18. Mai 2011, 17:49

etwa so?:
...
[Strings:07]
LangId=de
...

[Strings:09]
LangId=en
...

if %LangId%=="de" Then "INI:DeProduct" Else "INI:EnProduct" EndIf

...
[INI:DeProduct]
"U:\xxx\wincmdu.ini","Configuration",,"LanguageIni=WCMD_DEU.LNG"
"U:\xxx\wincmdu.ini","Configuration",,"Mainmenu=WCMD_DEU.mnu"

[INI:EnProduct]
"U:\xxx\wincmdu.ini","Configuration",,"LanguageIni=WCMD_ENG.LNG"
"U:\xxx\wincmdu.ini","Configuration",,"Mainmenu=WCMD_ENG.mnu"

Gruß
...
Viele Grüße
Roman Wiegel
IT-Consultant

MR Datentechnik - Vertriebs- und Service GmbH
Client Management

Benutzeravatar
r.wiegel
Beiträge: 855
Registriert: 05. Feb 2010, 13:45
Wohnort: Regensburg
Kontaktdaten:

Re: Zeile 2 einer beliebigen Textdatei befüllen

Beitrag von r.wiegel » 18. Mai 2011, 17:50

ok, Englisch spielt keine Rolle, einfach weglassen..
Viele Grüße
Roman Wiegel
IT-Consultant

MR Datentechnik - Vertriebs- und Service GmbH
Client Management

tschmidt
Beiträge: 40
Registriert: 10. Dez 2009, 11:33
Kontaktdaten:

Re: Zeile 2 einer beliebigen Textdatei befüllen

Beitrag von tschmidt » 18. Mai 2011, 18:02

r.wiegel hat geschrieben:ok, Englisch spielt keine Rolle, einfach weglassen..
Genau richtig!
Vielen vielen Dank

tschmidt
Beiträge: 40
Registriert: 10. Dez 2009, 11:33
Kontaktdaten:

Re: Zeile 2 einer beliebigen Textdatei befüllen

Beitrag von tschmidt » 20. Mai 2011, 12:07

Ich habe noch ein Problem mit meinem Paket.
Die Installation bricht mit folgendem Fehler ab:

Code: Alles auswählen

Kann INI-Datei 'U:\xxx\wincmdu.ini' nicht ändern!
Abbrechen
Ich denke es liegt daran, dass der Empirum Agent nicht die erforderlichen Rechte hat auf das Laufwerk U zu schreiben.
Laufwerk U ist bei Laptops ein ge-substes Laufwerk von C
Auf Domänenrechner ist Laufwerk U auf dem Hauptserver zu finden.

Ist es möglich Kopierbefehle und den ini:Product mit User/Client Rechten auszuführen ?
Gruß tschmidt

Benutzeravatar
Hendrik_Ambrosius
Moderator
Moderator
Beiträge: 7510
Registriert: 13. Dez 2004, 23:10
Wohnort: Adendorf/Lüneburg

Re: Zeile 2 einer beliebigen Textdatei befüllen

Beitrag von Hendrik_Ambrosius » 22. Mai 2011, 13:56

Nein, es liegt daran dass der Agent gar kein U-Laufwerk hat.
Der Maschinenteil läuft im local system Kontext und dort sind keine SUBSTs aktiv.
Also muss das ganze in den Userteil verlagert werden:

#INI:ModINI, CLIENT

[INI:ModINI]
if %LangId%=="de" Then "INI:DeProduct" Else "INI:EnProduct" EndIf
...
Hendrik Ambrosius / Senior Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 AG or of the support team.

tschmidt
Beiträge: 40
Registriert: 10. Dez 2009, 11:33
Kontaktdaten:

Re: Zeile 2 einer beliebigen Textdatei befüllen

Beitrag von tschmidt » 23. Mai 2011, 12:59

Hendrik_Ambrosius hat geschrieben:#INI:ModINI, CLIENT
[INI:ModINI]
if %LangId%=="de" Then "INI:DeProduct" Else "INI:EnProduct" EndIf
funktioniert leider nicht.

Code: Alles auswählen

#Ini:ModIni, CLIENT
[Ini:ModIni]
if %LangId%=="de" Then "INI:DeProduct" EndIf

[Ini:DeProduct]
"U:\xxx\wincmdu.ini","Configuration",,"LanguageIni=WCMD_DEU.LNG"
"U:\xxx\wincmdu.ini","Configuration",,"Mainmenu=WCMD_DEU.mnu"
Haben Sie noch eine andere Idee woran das liegen kann ?
Ist es egal ob ich INI:ModINI oder SET:ModINI schreibe ?

EDIT:
Er springt schon in den SET:ModINI Bereich, aber die Variable LangID ist scheinbar leer. Da geht er nicht weiter.
Oben bei "[Strings:07]" habe ich einen neuen Eintrag "LangId=de" erstellt. Reicht das?

Benutzeravatar
Hendrik_Ambrosius
Moderator
Moderator
Beiträge: 7510
Registriert: 13. Dez 2004, 23:10
Wohnort: Adendorf/Lüneburg

Re: Zeile 2 einer beliebigen Textdatei befüllen

Beitrag von Hendrik_Ambrosius » 23. Mai 2011, 14:13

Sorry - mein Fehler.
Die Sektion muss natürlich SET:ModINI heissen.
Bitte noch mal so checken.
Hendrik Ambrosius / Senior Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 AG or of the support team.

tschmidt
Beiträge: 40
Registriert: 10. Dez 2009, 11:33
Kontaktdaten:

Re: Zeile 2 einer beliebigen Textdatei befüllen

Beitrag von tschmidt » 23. Mai 2011, 17:02

Funktioniert leider nicht.

Ich habe herrausgefunden, dass er in den Bereich "[Set:ModIni]" kommt. Allerdings bricht er scheinbar bei der If Bedingung ab oder hat immer noch keine Rechte auf U.

EDIT: also über die if bedingung kommt er nicht drüber.

Code: Alles auswählen

[Set:ModIni]
Call "%Src%\test.bat"
if %LangId%=="de" Then "INI:DeProduct" EndIf
[Ini:DeProduct]
"U:\xxx\wincmdu.ini","Configuration",,"LanguageIni=WCMD_DEU.LNG"
"U:\xxx\wincmdu.ini","Configuration",,"Mainmenu=WCMD_DEU.mnu"
Gibt es ein Empirum Log an den man sehen kann wo er genau abbricht ?

Benutzeravatar
Hendrik_Ambrosius
Moderator
Moderator
Beiträge: 7510
Registriert: 13. Dez 2004, 23:10
Wohnort: Adendorf/Lüneburg

Re: Zeile 2 einer beliebigen Textdatei befüllen

Beitrag von Hendrik_Ambrosius » 23. Mai 2011, 17:08

Nehmen Sie mal "=" statt "==".
Habe ich noch nie probiert ob das mit zwei Gleichzeichen auch geht.
Gibt es eine Fehlermeldung oder springt er die Sektion einfach nicht an?
Lassen Sich doch mal den Wert mit "SetupErrorLog LangID=%LANGID%" ausgeben im SetupErrorLog.
Rechte: HAT denn der angemeldete User Rechte auf U: zum Schreiben?!
Hendrik Ambrosius / Senior Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 AG or of the support team.

tschmidt
Beiträge: 40
Registriert: 10. Dez 2009, 11:33
Kontaktdaten:

Re: Zeile 2 einer beliebigen Textdatei befüllen

Beitrag von tschmidt » 24. Mai 2011, 13:15

Hendrik_Ambrosius hat geschrieben:Nehmen Sie mal "=" statt "==".
Habe ich noch nie probiert ob das mit zwei Gleichzeichen auch geht.
Gibt es eine Fehlermeldung oder springt er die Sektion einfach nicht an?
Lassen Sich doch mal den Wert mit "SetupErrorLog LangID=%LANGID%" ausgeben im SetupErrorLog.
Rechte: HAT denn der angemeldete User Rechte auf U: zum Schreiben?!
die nutzer haben rechte auf u zu schreiben. das ist das persönliche laufwerk.
= statt == funktioniert bei mir nicht.
In der Variable langid steht auch wirklich "de" drin. Trotzdem wird das if übersprungen.

Antworten

Zurück zu „Paketierung“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste