Softone COM Server δεν κάνει register

1,126 views
Skip to first unread message

kko

unread,
Feb 29, 2012, 9:51:30 AM2/29/12
to Softone Developers Network
Καλησπέρα,

έχουμε σε έναν server που προσπαθούμε να κάνουμε xplorer.exe /
regserver.
(με runas administrator, χωρίς antivirus)

αλλά αδυνατεί να κάνει register, υπάρχει κάποιος τρόπος να καταλάβω
γιατί δεν κάνει register ;

Athanasiadis George

unread,
Feb 29, 2012, 10:05:45 AM2/29/12
to Softone Developers Network
Με αυτό το xplorer.exe κάνεις κανονικά logon σαν χρήστης
που κάνεις logon με το outprocess ?
O Γεωργουλάκης πέρσυ μας είχε πει οτι το regserver απλά
δηλώνει το path του xplorer.exe για να μπορεί να το βρεί
( στο regedit αν θυμάμαι καλά).

kko

unread,
Feb 29, 2012, 10:56:15 AM2/29/12
to Softone Developers Network
Ναι κι εγώ αυτό θυμάμαι...

δεν σκάει στο obj.login() σκάει στο αρχικό άνοιγμα του αντικειμένου...
από άλλο pc/server δουλεύει κανονικά... και το exe μου και το /
regserver ... ομοίως και κάνω κανονικά login στον server

οπότε αφού δεν φτάνει στο login υποθέτω ότι δεν κάνει το regserver...

...έψαχνα να βρω κι εγώ το συγκεκριμένο κλειδί στο registry αλλά δεν
το κατάφερα για να το περάσω καρφωτά ... γιατί η αλήθεια είναι ότι δεν
θυμάμαι που γράφει το path κλπ , οπότε ψάχνοντας, βρήκα πολλαπλά paths
που μάλλον με μπέρδεψαν παρά με βοήθησαν...

Christos Karras

unread,
Mar 1, 2012, 4:25:47 AM3/1/12
to Softone Developers Network
Μήπως στο συγκεκριμένο PC έχεις συνδεθεί σε ένα instance (κανονικά από
το softone) διαφορετικό από αυτό που είναι ανεπτυγμένη η λύση σου?

kko

unread,
Mar 1, 2012, 10:50:08 AM3/1/12
to Softone Developers Network
Αν πω ότι κατάλαβα θα πω ψέμματα...
τι εννοείς με διαφορετικό instance ;

Το outofprocess είναι γραμμένο σε Delphi, στον παλιό server έπαιζε
κανονικά, στα τερματικά επίσης, σε τεστ περιβάλλον ( σε δικό μου
αντίστοιχο server ) ομοίως.
Το μοναδικό διαφορετικό που μπορώ να σκεφτώ είναι ότι στον
συγκεκριμένο server μπάινω με rdp (με admin χρήστη) ... αλλά και με /
admin για να μπω στο κυρίως session συνεχίζω να μην μπορώ να καλέσω το
softone

Christos Karras

unread,
Mar 1, 2012, 4:07:59 PM3/1/12
to Softone Developers Network
Tο κάνω κάπως έτσι
try
{
$xplorer = new COM('SoXplorer.SoConnection');
$datem=date("d/m/y");
$xplorer->Login($soft1_user,$soft1_passwd,$soft1_company,
$soft1_branch,$datem);
}
catch(Exception $e)
{
echo "<b>ΠΡΟΒΛΗΜΑ</b> Πιθανόν να μην είναι ενεργοποιημένος ο
Licence Manager η το COM Object του SoftOne να μήν είναι registered η
να έχετε δώσει λάθος στοιχεία σύνδεσης στο SoftOne (user name,
password, branch, company)...Προβείτε στις απαραίτητες ενέργειες.";
mysql_close($link);
sqlite_close($db);
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
echo "</div>";
exit;
}

Δεν κάνω try...catch για κάθε μια περίπτωση 1 για SoXplorer 1 για
Login αλλά τα βάζω σε κουβά. Συνήθως όταν χτυπάει στο object αυτό
είναι Fatal Error (δεν μπαίνει καν στο catch), αλλά όταν είναι σε
Login μπαίνει catch.

Πιθανά προβλήματα (για να μην κάνουμε συνέχεια ερωτήσεις) που έχω
συναντήσει είναι:

1)το run as admin δεν δουλεύει πάντα και πηγαίνω και απενεργοποιώ
εντελώς το UAC
2)Εχω συνδεθεί σε άλλη βάση πιο πριν από αυτή που έχω ρυθμίσει τα
credencials στο configuration της outprocess εφαρμογής (αυτό εννοώ
αλλο instance)
3)Επειδή το outprocess συμπεριφέρεται σαν 'άνθρωπος' που καταλαμβάνει
θέση εργασίας, ίσως να έχεις υπερβεί τις θέσεις εργασίας
4)Έχει ένα θέμα με τα 64bit windows όταν πάμε και βάζουμε το exe στα
program files με το (x86) στο path
5)Δεν βλέπει LM
6)Και τέλος (όπως βλέπεις και στο κώδικα) βάζω καρφωτά την μορφή της
ημερομηνίας (d/m/y), πράγμα που μου κόλλησε σε εγκατάσταση με
αμερικάνικη ρύθμιση (m/d/y).

Αυτά είναι ότι έχω συναντήσει. Αν πάς μέσα από το cmd και κάνεις το
regserver και σου βγάλει μετά καθαρή γραμμή C:\> τότε έχει γίνει 100%
το registration. Οπότε κάτι άλλο είναι.

Τι windows είναι?

kko

unread,
Mar 2, 2012, 5:08:09 AM3/2/12
to so...@googlegroups.com
Κι εγώ συνήθως έχω ένα ενιαίο try/catch αλλά το έσπασα μήπως καταλάβω τι χτυπάει...

1-Το έχω απενεργοποιήσει το UAC
2-Το τσέκαρα είναι τα σωστά στοιχεία
3-Έχω 40 χρήστες και έναν χρήστη μόνιμα ανοιχτό στον Server (έχει ενεργό Remote), οπότε δεν υπάρχει περίπτωση να χτυπάει ο χρήστης,έτσι κι αλιώς για να το καλέσει ο χρήστης το exe είναι ήδη μέσα στο S1, είναι μέρος της διαδικασίας για την κοστολόγηση.
4-Δεν το είχα σκεφτεί αυτό με το path, τα δοκίμασα εκτός program files (C:\Softone) και στο X86 και πάλι τίποτα. Έκανα /unregister,  /register για να εξασφαλήσω ότι δεν έχει κρατήσει τίποτα πουθενά...
5-Βλέπει σίγουρα LM - συνδέομαι μέσω application server οπότε δεν έχω θέμα (έχω προσθέσει PARAMS.CFG στο φάκελο του S1 με τα /host:XXX.XXX.XXX.XXX /port:XXXX και είναι δοκιμασμένο ότι παίζει οκ αυτό, γιατί έτσι παίζουν κι όλα τα τερματικά και ο παλιός server)
6-Το δοκίμασα με καρφωτά τα στοιχεία πριν αρχίσω να σπάω σε πολλαπλά try except το create/login κλπ να δω που χτυπάει, γιατί υπέθετα ότι κάτι έφταιγε στο login... οπότε μετά έβγαζα το login που δίνει σε ένα μήνυμα όταν έσκαγε και φαινόταν σωστό αυτό που θα έδινε για login.

Είναι Windows Server 2008 R2 Standard Edition 64-bit

Ευχαριστώ πάντως...

kko

unread,
Mar 2, 2012, 5:15:52 AM3/2/12
to so...@googlegroups.com
Επειδή την έχω ξαναπατήσει υπάρχει περίπτωση το registry path που κάνει register να μην είναι αυτό που βλέπει ο χρήστης του server βάση login .... πάω να ανακαλύψω το path στο registry γιατί με έβαλες σε σκέψεις...

...την είχα πατήσει μια φορά έτσι όταν είχε πρωτογίνει η μεταφορά ενός server σε 2008 και είχαν αλλάξει κάποια mappings που έδινα καρφωτά στο registry σε σχέση με τα 2003 r2

kko

unread,
Mar 2, 2012, 5:58:57 AM3/2/12
to so...@googlegroups.com
Λοιπόν όντως, δεν κάνει register γιατί λείπει h εγγραφή από το root/CLSID/(program id)/

θα δοκιμάσω να την φτιάξω με το χέρι και θα ενημερώσω αν παίξει...
Message has been deleted

kko

unread,
Mar 2, 2012, 6:36:48 AM3/2/12
to so...@googlegroups.com
Δεν έπαιξε τελικά... αν και θεωρώ ότι το έφτιαξα σωστά...(έτσι νομίζω δηλαδή)...
Πιθανώς να γράφει και κάπου αλλού που δεν το 'χω βρει ακόμη...

Έχω ενημερώσει τα
HKEY_CLASSES_ROOT\CLSID\{
41D03DAE-EF1C-4EE3-B97D-33A298AD4D7F}\LocalServer32
HKEY_CLASSES_ROOT\CLSID\{41D03DAE-EF1C-4EE3-B97D-33A298AD4D7F}\ProgID
HKEY_CLASSES_ROOT\CLSID\{41D03DAE-EF1C-4EE3-B97D-33A298AD4D7F}\TypeLib
HKEY_CLASSES_ROOT\CLSID\{41D03DAE-EF1C-4EE3-B97D-33A298AD4D7F}\Version

και ομοίως τα ίδια στο local machine\software\classes\clsid\ κλπ

Είμαι ανοιχτός σε ιδέες ...

Ioannis Tourountzis

unread,
Mar 2, 2012, 7:03:52 AM3/2/12
to so...@googlegroups.com
Se emena anigi afta oloidio enviroment opos exis kai esi 



2012/3/2 kko <kkour...@gmail.com>

--
Softone Developers Network group.
To post to this group, send email to so...@googlegroups.com

S1.jpg

kko

unread,
Mar 2, 2012, 9:21:23 AM3/2/12
to so...@googlegroups.com
Ούτε που το σκέφτηκα να το δω με το process monitor...!!!
Το δοκιμάζω κι ενημερώνω...

Ευχαριστώ,

kko

unread,
Mar 2, 2012, 11:06:44 AM3/2/12
to so...@googlegroups.com
τα βρήκα και αυτά και διόρθωσα τα path, είχαν ένα άλλο άσχετο path, αλλά τελικά δεν δούλεψε ...

Θα το ψάξω κι άλλο γιατί θέλω να πιστεύω ότι είμαι σε καλό δρόμο κι αν δουλέψει θα σας ενημερώσω.

Ευχαριστώ και πάλι.


kko

unread,
Jun 11, 2012, 11:12:29 AM6/11/12
to so...@googlegroups.com
Λοιπόν όλα τα θέματα είχαν να κάνουν με το γεγονός ότι υπήρχε ενεργός application server... από κει ξεκίναγαν όλα τα κακά.

και η λύση ήταν η εξής στην περίπτωσή μου.

Αφορά μόνο out of process υλοποίηση, αν θα πρέπει να τρέχει και στον Server με ενεργό application server σαν service

 

Για να παίξει πρέπει ο Application Server να μην είναι στην default θύρα.

Οπότε έχω ένα φάκελο του Softone

πχ S1Server

όπου υπάρχει ένα Params.CFG με

[PARAMS]

PORT:22040

WEBPORT:0

 

(το WebPort είναι για να μην ανοίγει ο Web Server του Softone για λόγους ασφαλείας, αφού παίζουμε από internet)

 

Ένα φάκελο για τον client ώστε να μπορεί να παίξει μέσω internet τόσο η εφαρμογή όσο και το outofprocess, ώστε να παίζει η σύνδεση του OutofProcess τοπικά μόνο με register (/regserver) και χωρίς αλλες ρυθίσεις αλλά και να τρέχει και το S1 κανονικά. Αυτό με τις ίδιες ρυθμίσεις είναι που έχουν και τα τερματκά.

Όπου υπάρχει ένα Params.CFG

[PARAMS]

HOST:#WAN IP#

PORT:22040

SXCO

 

Και ένα τρίτο φάκελο COMServer

Όπου δεν υπάρχει καμία ιδιαιτερότητα για να λειτουργεί ο Com Server για την OutofProcess ΜΟΝΟ για τον Server. Αυτός είναι που κάναμε /regserver τελικά στον server.

 

Οπότε …με αυτόν τον τρόπο το Softone και το Out Of Process τρέχει κανονικά απ’οπουδήποτε στον κόσμο μέσω Internet. Ο Application Server δουλεύει κανονικά στον Server χωρίς θέματα ασφαλείας (το ddos το πιάνει το firewall, δεν είναι δουλειά του S1) και το Out of Process τρέχει πλέον και τοπικά στον server και στα τερματικά.

Σημείωση: Στο out of process, έχει αφαιρεθεί το κομμάτι του xco αφού γίνεται αυτόματα από το /sxco.

Reply all
Reply to author
Forward
0 new messages