IBM MQSeries and .NET managed Client Programm
13. Juli 2009As a novice to IBM MqSeries i started developing a MQ Client Programm in .NET using the DLL Libs which IBM provide for .NET.
One thing was, to let the client programm run without installing the whole MQ bunch of Server or Client. After some investigations if found that there was
an solution, to use the Transport “managed” type for the connection. So the MQ Series used TCP/IP for Communication.
The first problem occured that my programm (IBM MQ Websphere Libraries of 7.0) crashed the MQ Series 6.0 Windows Server - the MQ Server almost fully
crashed und my .NET Programm reported and Error 2058 - What Qmanager not found??!! Strange…. After some research we found out, that you have to Upgrade the MQ 6.0 to the latest fixpack from the IBM Site.
After doing that, the Error 2058 goes away but i can’t connect to my QManager on the remote machine.
I found out, that the MQ Series .NET Client Libs always send the username of the currently logged on user with it - you can’t change it.
After testing and trying the whole night i found a solution which sounds a little bit funny.
Create a Serverchannel, and set the MCA USer ID to “mquser” (or any other name). Create a user on the MQ Series Server machine and name it the same as you did the MCA UserID name (here in my example mquser). Add the Group “mqm” to the “mquser”.
After this you should restart the MQ Series Server.
On your client Programm set the userID which you can set in the connection Properties to “mquser” (or the one you created).
And - success we can connect!
Windows Vista - ohne Sound / Windows Vista without sound
13. Juli 2009Heute mal wieder ein Problemchen welches mich den Verstand gekostet haette.
Eines Tages, Windows Vista bootet, ist mein Sound weg - haeh? Wieso denn das, keine Patches wurden eingespielt, keine Driver upgedated - woran liegt?
Geraet wird als “ok” angezeigt, Driver passen (letzte Version / Soundmax von Analog). Wenn jedoch ein Testsound abgespielt werden soll kommt die Fehlermeldung “Der Testton konnte nicht abgespielt werden”. Daraufhin lastet der Process audiodg.exe mein Vista mit bis zu 80% CPU Auslastung aus.
Nach einigen versuchen der Driver reinstallation welche natuerlich scheiterten ueber folgenden Tipp gestolpert:
Regedit starten
Dann zu Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole navigieren.
Und dort den Key ‘DefaultAccessPermission’ loeschen.
Danach rebooten und - der Sound geht wieder!
(Quelle: http://doogalbellend.blogspot.com/2007/12/solving-vista-to-play-test-tone-sound.html)
English:
Few days ago my audio device on my HP Elitebook 8530w stopped working. On the System Control Panel the device was shown as working, the Output deviced marked as “ready” and ok.
But when i tried to play any audio (mediaplayer, vlc, flash …) it doens’t do any sound - so no sound but working hardware?
What confused me a bit, was, that the process audiodg.exe goes up to about 80% cpu load (it dropped a view times down) and the sound control panel hangs.
Due to long google searches, a lot of reinstallation of drivers and a lot other “this could work” tweaks i found this site:
http://doogalbellend.blogspot.com/2007/12/solving-vista-to-play-test-tone-sound.html
It’s easy to fix this problem, just start
regedit.exe,
go to \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole and there delete the key named ‘DefaultAccessPermission’.
After that you have to do a reboot of your machine - and on my side - i rebooted and - it played the sound well again!
Thanks to Doogal Bell for his fix!
VHCS2 und Perl Crypth / Blowfish
8. Januar 2009Sodalla, mal wieder was lustiges aus der Perl Linux Welt.
Nachdem wir nun Maia Mailguard nun zur Spamfilterung vor dem Exchange als Gateway verwenden, merkte ich das nach dem ganzen CPAN Updates auf einmal unser Hostingsystem VHCS2 nicht mehr lief!
Bum - Requestmanager und Aenderungen bleiben stehen ohne das sich was tut, alles tot - sogar die Abwesenheits Emails kommen nicht an bzw. nur als haessliche Maildelivery Errors.
Mal ins VHCS2 Log geguckt und siehe da was sieht man da?
If specified by -literal_key, then the key length must be equal to the chosen cipher’s key length of 56 bytes at..
Tja - was war da passiert - nunja die Keysize muss nun mit angegeben werden. Und wie fixe ich das?
Fangen wir mal an:
Zuerst den vhcs2-arpl-msgr oeffnen (normal in
/var/www/vhcs2/engine/messager/).
Dort in Zeile 1375 und Zeile 1410 nach folgendem suchen:
my $cipher = Crypt::CBC -> new(
{
‘key’ => $main::db_pass_key,
‘cipher’ => ‘Blowfish’,
‘iv’ => $main::db_pass_iv,
‘regenerate_key’ => 0,
‘padding’ => ’space’,
‘prepend_iv’ => 0
}
);
Alles was wir abaendern muessen ist :
my $cipher = Crypt::CBC -> new(
{
‘key’ => $main::db_pass_key,
‘keysize’ => 32,
‘cipher’ => ‘Blowfish’,
‘iv’ => $main::db_pass_iv,
‘regenerate_key’ => 0,
‘padding’ => ’space’,
‘prepend_iv’ => 0
}
);
Sprich einfach nur den Param keysize adden.
Damit auch das VHCS2 wieder geht nach dem oben genannten Strings auch in der vhcs2_common_code suchen und dort hinzufuegen.
Danach einfach auf der Konsole den vhcs2-rqst-mgr um die ausstehenden Aenderungen zu uebernehmen - Thats all ![]()
Option Globetrotter 3G+ Datacard (T-Mobile DSL 1800 Card) unter Windows Vista x64 (64Bit)
5. Dezember 2008Wieder einmal etwas kurioses - meine T-Mobile Datenkarte will nicht so wie ich will - aber nur unter Windows Vista 64Bit.
Mal kurz mit dem T-Mobile Businesscenter telefoniert, prompt um 22h noch jemanden mit sehr gutem fachlichem Wissen am Telefon. Aussage war letztendlich 64Bit von T-Mobile offiziell nicht unterstuetzt.
Nachdem die inoffiziellen bereitgestellten 64Bit Driver fuer Vista von T-Mobile nicht funktionierten - einfach mal das Vodafone Connect installiert - et voila - es geht.
Sprich - Vodafone liefert die 64 Bit Driver.
Um euch die installation des VF Dashboards zu ersparen hier ein kurzes HowTo:
1. T-Mobile Communicatio Center installieren (2.10.0.27 bei mir)
2. Nun die 64bit Driver downloaden (im Anhang, sind nur die 64bit Driver fuer Option Cards), und entzippen
3. Datenkarte einstecken, Vista suchen lassen, danach wenn Vista sagt nix gefunden, Pfad auswaehlen und denOrdner auswaehlen in dem wir in 2. die Driver entzippt haben
4. Vista installieren lassen, danach nochmals neustarten
5. T-Mobile Communication Center starten und loslegen
Viel Spass!
Das angehaengte Archiv wurde auf Viren und Malware geprueft! Die driver sind ausserdem digital signiert (was bei 64bit eh ein muss ist)
(Auch hier sei gesagt - kein Support, keine Haftung - es ist ein Workaround auf eigene Gefahr, fuer Schaeden o.Ae. bin ich nicht haftbar zu machen)
Downloads:
Option 64Bit Driver x64 fuer Windows Vista 64Bit
Nachtrag / Update 13.01.2009
Wie mir Blogleser “Merle” im Kommentar mitteilte funktionieren die Windows Vista 64bit Driver auf ohne Probleme unter Windows 7 (Seven) Beta 1 (Public Beta).
Ich werde dies u.A. auch in meinen weiteren Windows 7 Beta-Tests beruecksichtigen und schauen obs mit den kommenden Versionen auch klappt.
Vielen Dank an “Merle”!
Einfache Kommunikation zwischen zwei Anwendungen auf dem gleichen PC
21. Oktober 2008Named Pipes, DDE etc sind alles tolle Sachen um zwei Applikationen (wie in meinem Falle zwei VFP Applikationen (exe)) kommunizieren zu lassen.
Jedoch sind Named Pipes unter VFP etwas schwierig zu coden, da es wenig Beispiele gibt - DDE ist fuer schnellen Datenaustausch zu langsam.
Nun stand ich vor dem Problem aber genau diese 2 Applikationen miteinander kommunizeren zu lassen. Tja der Vorteil war, das es a) auf einem Terminal Service Client laufen MUSS (Citrix BAEH!) womit man bei Named Pipes auch vor einem Problem steht da diese System global sind.
Ich brauchte also eine Moeglichkeit eine kommunikation der Applikationen unabhaengig von den Benutzersitzungen auf der Maschine.
Nach etwas googlen etc. fand ich eine tolle Moeglichkeit - die API Funktion WM_SENDMESSAGE.
Diese erlaubt es an einen Window Handle (unter VFP ueber .HWND zu ermitteln) eine Message zu senden. Man muss also eine Sende / Empfangsklasse erstellen welche die Nachrichten an das gewuenschte Fenster sendet, und die Nachrichten aber auch entgegennimmt.
Ich moechte euch das natuerlich nicht vorenthalten - hier ein kleines Beispiel (Ab VFP8!):
- in VFP Form erstellen (Create Form… )
- Methode mit Namen HandleMsg erstellen in der Form
- Textbox mit Namen txtMessage und eine Textbox txtSendMessage sowie eine Textbox txtReceiver auf die Form
- Sowie einen Button mit dem Namen cmdSend
- im Init der Form folgenden Code einfuegen
BINDEVENT(thisform.HWnd, 0×4A,thisform,”HandleMsg”)
Hiermit “binden” wir das Windows Ereignis 0×4A (=Nachricht empfangen) an die Form, und weisen BindEvent an bei diesem Event die Methode HandleMsg aufzurufen.
Sprich jedesmal wenn nun Windows etwas unserem Fenster mitteilt wir unsere HandleMsg Methode aufgerufen.
Diese muessen wir jedoch noch erweitern:
LPARAMETERS hWnd, msg , wParam, lParam
** NUR AUF SENDMESSAGE HOEREN!
If Msg = 0×4A Then
lnLen = 16
** Nachricht aus Speicher lesen
Declare LONG RtlMoveMemory IN “kernel32″ ;
STRING @ cIntoHere, LONG ptrFromHere, LONG cb
lcRet = SPACE(lnLen)
RtlMoveMemory(@lcRet,lParam,lnLen)
* Extract the length and the string pointer
lc2 = SUBSTR(lcRet,5,4)
lc3 = SUBSTR(lcRet,9,4)
lnLen = CTOBIN(lc2,’4RS’)
lp3 = CTOBIN(lc3,’4RS’)
IF lnLen>0
* Retrieve the pointed-to string:
lcStr = SPACE(lnLen)
RtlMoveMemory(@lcStr,lp3,lnLen)
lcStr = LEFT(lcStr, AT(CHR(0),lcStr) )
** Nachricht empfangen !! Sofort anzeigen in der Textbox
thisform.txtMessage.text = lcStr
ENDIF
ENDIF
Das ist aber erst die Halbe miete wir koennen bis Dato nur empfangen - aber wie sieht es mit Senden aus ? Dazu fuegen wir eine Methode mit dem Namen SendMessage in die Form.
In dieser hinterlegen wir folgenden Code:
LPARAMETERS tcReceiver, tcData
** APIS Declaren
DECLARE INTEGER FindWindow in win32api ;
INTEGER nClass, STRING cName
Declare LONG GlobalAlloc IN “kernel32″ LONG wFlags, LONG dwBytes
Declare LONG RtlMoveMemory IN “kernel32″ ;
LONG ptrIntoHere, STRING @ cFromHere, LONG cb
Declare LONG GlobalFree IN “kernel32″ LONG hmem
DECLARE LONG SendMessage IN WIN32API ;
LONG HWND_hWnd, ;
LONG UINT_Msg, ;
LONG WPARAM_wParam, ;
STRING @ LPARAM_lParam
DECLARE LONG SendMessage IN WIN32API ;
LONG HWND_hWnd, ;
LONG UINT_Msg, ;
LONG WPARAM_wParam, ;
STRING @ LPARAM_lParam
** HWND der angegebenen Caption ermitteln
lnHWND = FindWindow(0,tcReceiver)
IF lnHWND > 0 THEN
lcMsg = tcData
lcMsg = ALLTRIM(lcMsg) + CHR(0)
lnCBData_Hnd = GlobalAlloc( 0, len(lcMsg) )
RtlMoveMemory( lnCBData_Hnd, @lcMsg, len(lcMsg) )
oCopyData = BINTOC( 0, ‘4Rs’ ) ;
+ BINTOC( LEN(lcMsg)+1, ‘4Rs’ ) ;
+ BINTOC( lnCBData_Hnd, ‘4Rs’ )
* Nachricht senden
SendMessage( lnHWND, 0×4A , ;
thisform.hwnd, @oCopyData )
ENDIF
Ich hab die Funktion noch ein wenig Aufgebohrt, so wird bei den Params als tcReceiver the Caption (Titel) des Empfaenger Fensters (bsp der Form) angegeben, als Data die Daten die gesendet werden sollen (Achtung 254 Zeichen MAX!).
Man sollte jedoch gut aufpassen mit den Captions, man koennte jedoch den HWND auch ueber die ProzessID ermitteln etc… kommt vielleicht noch. Aber da es ja bekanntlich schnell gehen muss, sind in meinem Projekt die “Nachrichtenformen” Formen, welche versteckt sind (visible =.f.) und einen fast eindeutigen Namen haben (z.b. __00__MyApplication_RECEIVER1).
Um das ganze nun Live zu sehen, muessen wir in den Click Event des Buttons folgendes einfuegen:
thisform.sendMessage(txtReceiver.value,txtSendMessage.value)
Und fertig ist der Spass. Nun kann man testweise mal die Form Doppelt starten und Ihr ueber das Befehlsfenster eine Caption geben (z.B. Test1 und Test2 die 2te Form).
In der Form test1 gibt man nun in das txtReceiver Test2 ein (gross und kleinschreibung beachten - wichtig!!) und eine beliebige Nachricht. Danach auf senden klicken - und wie aus Zauberhand erscheint die Nachricht in Test2 in der Textbox!
Wer’s noch nicht glauben kann kann ja 2 exe’n kompilieren mit 2 verschiedenen Form Captions und es so im echtbetrieb testen :).
In meiner Applikation wir dann der Empfangen String immer ausgewertet, so verwende ich Bsp SENDERNAME#KOMMANDO#SONSTWAS und splitte diese dann mit GetWordNum etc auf um so an meine Befehle zu kommen.
Dies bitte aber auch mit Sicherheit geniessen - was hier fehlt ist ein Check ob die Nachricht auch von der gewuenschten Applikation kommt - nicht das aufeinmal eine Andere Anwendung die Eigene Applikation verrueckt spielen laesst :). Dies koennte man so loesen in dem man in der HandleMsg Methode den Parameter wParam mit der HWND der 2ten Applikation abgleicht (via Api Funktion FindWindow bsp ermitteln)
Soviel zum heutige ausflug der interaktiven Prozesskommunikation !
Viel Spass bei euren Projekten!
Wieder mal was kurioses - mein huebscher HP Compaq 8510w, nun ein halbes Jahr alt, lueftete dauernd in einem schoenen hohem Ton vor sich hin. Ich muss dazu sagen das es mir am Anfang aufgefallen ist ichs jedoch anscheinend dann wieder ignoriert habe. Bis letztens mein Kollege mit seinem HP Compaq 8230 neben mir hockte (was mein Vorgaenger war). Ich war erstaunt wie leise dieses Notebook war und wunderte mich wieso mein HP Compaq 8510 so laut vor sich hinduest.
Nachdem ich ausschliessen konnte das nur das Windows Vista dran schuld war, da es unter XP die gleichen lauten Geraeusche von sich gab hab ich kurzerhand einfach die Tastatur entfernt (2 Schrauben auf der Rueckseite entfernen, sowie dann die Clips am oberen Ende der Tastatur nach unten schieben - dann kann man die Tastatur vorsichtig entfernen).
Kurz in den Luefter geschaut - naja da sind nicht so viele Fusseln drinnen. Trotz allem wollte ich den Luefter mal reinigen vielleicht lags ja daran. Und siehe da, als ich die 2 Schrauben der Luefterhalterung entferne sah ich das sich an der Kupferheatpipe der linken Seite (wo die Luft angesaugt wird) sich die “Wollmaeuse” nur so zusammengedraengt hatten.
Also den gesamten “Kupfer” Lueftereinlass gereinigt, jeden Faecher mit Druckluft ausgeblasen, sowie den Luefter mit einem Wattestaebchen wieder schoen gesaeubert.
Danach wieder alles zusammengebaut (Luefterkabel anschliessen) UND - es herrscht wieder RUHE!
(Bilder folgen noch!)
—- English Version —-
My half year old HP Compaq 8510w started a few months ago to make a loud fan noise. I just wondered as i heared the difference to my mates HP nc8230. So i started investigations and uncovered the keyboard (remove the 2 screws marked with keyboard sign on the back of the notebook, and push down the clips on the upper top of the notenbook). As i discovered that the fan has just a little bit dust on it i decided to remove it to clean it. As i removed the fan i discovered a lot of dust in the copper heatpipe (left to the fan) where the airflow comes. After cleaning each segment of this copper thing, i just cleaned out the fan. After reassembling the unit (take care to plug in the power cable of the fan again) and starting up there was silence!
Now my 8510w is silent like the first day i got it.
(Pictures coming soon!)
Visual Foxpro 8/9 mit Vault 4.1 unter Windows Vista (SP1)
17. April 2008Mal wieder ein Problemchen.
Windows Vista aufgesetzt mit der neuen Action Pack CD (bereits mit Service Pack 1). Danach standardmaessig den Sourcegear Vault 4.1.1 installiert sowie mein Visual Foxpro 8 und Visual Foxpro 9. Soweit alles ganz gut, die Service Packs fuer VFP 8 und 9 runtergeladen. Danach fuer “Save” noch die Runtime Installer von ProLib.
Dann wollte ich mein Projekt oeffnen welches mit meinem Vault in der Sourcenverwaltung ist. Boing - VFP Stuerzt ab. Egal ob die 8er oder die 9er beide Stuerzen mit dem bekannten C0000005 Fehler ab.
Woran liegt dieser verdammte Fehler? Evtl an der VFP installation? Nochmals alles runtergeworfen, neu Installiert -> gleiches Symtom.
Kurz mit woody aka. Juergen Wondzinski geskyped - die Info bekommen das anscheinend was vom .NET fehlt.
.NET Installationen geprueft, .NET 2.0 installiert sowie .NET 3.0 und .NET 3.5.
Aber kein .NET 1.1 !!
Kurze Rede - es liegt an der Fehlenden .NET 1.1 Runtime, da anscheinend die SourceGear Vault Integration, obwohl Vault auf .NET 2.0 laeuft, immer noch .NET 1.1 ist.
Fuer alle die selbiges Problem haben hier ein kurzer Installationsleitfaden.
- .NET 2.0 Installieren (http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en)
- .NET 1.1 Installieren (http://www.microsoft.com/downloads/details.aspx?familyid=262D25E3-F589-4842-8157-034D1E7CF3A3&displaylang=en)
- danach den Vault Client installieren (http://www.sourcegear.com/vault/downloads.html)
- VFP 8 bzw. VFP 9 installieren
- Service Packs herunterladen fuer:
VFP 8.0 SP1(http://www.microsoft.com/downloads/details.aspx?FamilyId=018705E6-DF6A-4695-965E-459FE5A761F7&displaylang=en)
VFP 9.0 SP2 (http://www.microsoft.com/downloads/details.aspx?familyid=A28DDEC6-BA3C-49D0-8176-8C0B3FCA06D1&displaylang=en)
- Service Packs installieren
- Noch die ProLib Runtime Installer sicherheitshalber installieren
VFP 8.0 SP1 (ftp.prolib.de/Public/VFP8SP1RT.exe)
VFP 9.0 SP2(ftp://ftp.prolib.de/Public/VFP9SP2RT.exe)
Nun laeuft auch das VFP wieder sauber mit Vault!
—————– English
My Visual Foxpro with Sourcegear Vault crashed on a fresh installed Windows Vista with SP1 immendiately after opening a project with Vault integration.
The solution for this problem, is to install the missing .NET 1.1 redistributable, cause Vault 4.0 isn’t .NET 2.0 overall, just the client. The integration for VSS and VFP is in .NET 1.1 written.
So just download the .NET 1.1 redistributable from here ((http://www.microsoft.com/downloads/details.aspx?familyid=262D25E3-F589-4842-8157-034D1E7CF3A3&displaylang=en))
Installation Guide for VFP 8/9 on a plain Windows Vista with Sourcegear Vault
- install .NET 2.0 (http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en)
- install .NET 1.1 (http://www.microsoft.com/downloads/details.aspx?familyid=262D25E3-F589-4842-8157-034D1E7CF3A3&displaylang=en)
- install Sourcegear Vault Client (http://www.sourcegear.com/vault/downloads.html)
- install VFP 8 / VFP 9
- download Service Packs for:
VFP 8.0 SP1(http://www.microsoft.com/downloads/details.aspx?FamilyId=018705E6-DF6A-4695-965E-459FE5A761F7&displaylang=en)
VFP 9.0 SP2 (http://www.microsoft.com/downloads/details.aspx?familyid=A28DDEC6-BA3C-49D0-8176-8C0B3FCA06D1&displaylang=en)
- install Service Packs
- and just the ProLib VFP Runtimes to install (optional but recommened)
VFP 8.0 SP1 (ftp.prolib.de/Public/VFP8SP1RT.exe)
VFP 9.0 SP2(ftp://ftp.prolib.de/Public/VFP9SP2RT.exe)
Thanks for help to wOOdy from ProLib !
==== UPDATE ====
EN:
Gerd Straub has discovered another problem, even if .NET 1.1 is installed Vault and VFP9 Crashes when opening a Vault Controlled Projekt. Here’s the solution of Gerd for VFP 9.
Save the attached file (vfp9.exe.config) as vfp9.exe.config in your VFP9 installation directory:
DE: (HOWTO)
Dateiname muss vfp9.exe.config lauten und einfach ins Installationsverzeichnis von
VFP9 kopiert werden.
Dann sollte VAULT nicht mehr mit VFP9 einen C000005er bringen.
Download patch from:
http://baiertaler.sct-straub.com/Codesnipets/VFP9.EXE.CONFIG.TXT
Mirror: zipped Patch fuer VFP9 and Vault
Danke an Gerd Straub (aka Baiertaler) !
Internet Explorer 8 (IE8) Beta 1 verfuegbar
6. März 2008Nachdem die MIX08 in Las Vegas im vollem Gange ist und dort bereits der IE8 gezeigt wurde hat sich anscheinend Microsoft nun entschieden den IE8 doch schon in einer Public Beta zu release, nachdem Anfangs IE8 Beta in einem geschlossenem Kreise von Testern ausgeliefert werden sollte.
Die Installation laeuft gerade, auf meinem Laptop braucht sie unter Vista gut 12 Minuten zum installieren, nun ist der Restart jedoch noetig.
Ich werde berichten bzgl weiterer Tests mit IE8.
Links zum Download
So mal wieder ein Eintrag mit einem schier zum verrueckwerden Problem.
Folgendes:
FCKEditor eingebunden in die Webseite, der FCKEditor und seine Dateien befinden sich aber ausserhalb des Webroots.
Wenn man nun von der Website xyz.de eine Datei hochlaedt verschwindet diese im nirgendwo - bzw. laesst sich auch nicht einbinden.
Wir bei kuse (www.kuse.de) haben in unseren Webseiten bzw. unserem CMS den FCKEditor eingebunden. Um natuerlich hier nicht 100 Ordner von 100CMS Installationen etc zu haben, befindet sich der Ordner mit den 3rd Partie Libs ausserhalb des webroots der Kunden und wird nur durch einen Symbolischen Link eingebunden auf dem Webroot der Kundeninstallation.
Das Problem am FCK hierbei ist jedoch, das er beim Upload davon ausgeht, das er sein Root Verzeichnis nehmen soll und nicht das Webroot des Kunden. So landeten die Dateien immer in /var/www/shared/includes/fckeditor/layout/fckfiles.
(Anmerkung wir laden die FCKFiles immer nach WEBROOT/layout/fckfiles bei den CMS Kunden)
Dadurch das nun das Verzeichnis ausserhalb des Basedirs des Kundenhostings ist, ist kein Zugriff mehr auf die Datein moeglich bzw. jeder CMS Kunde laedt in das selbe Verzeichnis statt in sein WEBROOT Verzeichnis.
-dooh -
Das musste natuerlich gefixt werden. Nach Absprachen und langen Foren lesen und immer noch keiner Loesung kam die zuendene Idee - irgendwie muss man dem PHP Connector sagen das er den Webroot statt den Shared Ordner nimmt, am besten ohne grossen Aufwand und rumprogrammierereien bei hinzufuegen eines neuen Hostings auf dem CMS basierden.
Die Loesung war folgende:
Mit nano die Datei fckeditor/editor/filemanager/browser/default/connectors/php/config.php oeffnen und diesen Punkt aktivieren durch entfernen der // (bzw. bei einigen Installation ist es bereits auskommentier und nur leer):
//$Config[’UserFilesAbsolutePath’] = ”;
Aendern in
$Config[’UserFilesAbsolutePath’] = getenv(”DOCUMENT_ROOT”). ‘/layout/fckfiles/’ ;
Wobei der layout/fckfiles Pfad auch beliebig anders wo hingehen kann (z.b. layout/images). Wichtig ist nur das der Ordner und dessen Unterordner schreibbar fuer WWW-DATA sind und man drauf zugreifen kann.
Durch die Funktion getEnv mit dem Parameter document_root holen wir uns den Hostingpfad (so /var/www/virtual/kundenwebsite/htdocs) und sind im richtigem Verzeichnis.
Super und es klappt - fuer jeden Kunden, jedes CMS Hosting ohne das jmd irgendwem was ueberschreibt etc.
Evtl muesste bei anderen Installation noch in der fckconfig.js noch ein wenig angepasst werden, aber dazu koennt ihr euch ja noch rumschlagen.
In diesem Sinne - Eine gute Nacht ![]()
Alle Jahre wieder - heute hab ich unsere alte MSDE ausser Betrieb gesetzt um die Sourcenverwaltung Vault endlich auf dem mittlerweile auch schon alten
SQL Server 2005 einzusetzen.
Da das ganze auf unserem tollen DELL 1HE Rack laeuft und meinereiner zu faul ist seinen Arbeitsplatz zu verlassen musste das ganze via Remotedesktop passieren.
Doch was passiert nachdem ich die SQL 2005 Installation anstarten will - ein Fehler.
MSI - Installer Remoteinstallation nicht zulaessig.
Haeeh ? Was?
Wie ich dann gluecklicherweise in einer Microsoft KB fand kann man MSI Dateien (die Setup.exe von SQL Server Installation startet nur den MSI!) nicht von Terminal-Service Client Shares starten. (Das sind die gemappen Laufwerke deines Rechners beginnend mit \\tsclient)
Naja was abhilfe schaft ?
Einfach die MSI in nen Ordner tun, diese Freigeben oder auf den Server kopieren.
So einfach - es fragt sich nun nur worin der unterschied besteht ob ich den Share auf meinem Rechner freigebe oder den \\tsclient Share verwende?
Das hat damit zu tun das sich das System die Installationsquelle merkt und MS anscheinend auf Nummer sichergeht und den TSClient Share abstellt.
Komische Welt…


