Patch level :10.0

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
Procedura di salvataggio del corrente OEM (reseller) del prg già installato; in questo modo anche mandando un CD AGA (che generalmente funziona!) ad un cliente di un distributore non AGA, il reseller .a video non cambia. Per cambiare reseller si dovrà intervenire a mano sull'oem.ini cambiando il valore di OEM dopo l'installazione


git-svn-id: svn://10.65.10.50/trunk@19779 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2009-12-15 11:55:49 +00:00
parent ca41054cef
commit 67791b207f
5 changed files with 24 additions and 6 deletions

View File

@ -1227,7 +1227,21 @@ void CampoSetup::NormalSetup()
{ {
const wxString strSetupCDPath = strPrgCDPath + "/setup"; const wxString strSetupCDPath = strPrgCDPath + "/setup";
const wxString strSetupLocPath = strPrgLocPath + "/setup"; const wxString strSetupLocPath = strPrgLocPath + "/setup";
//Procedura di salvataggio del corrente OEM (reseller) del prg già installato; in questo modo anche..
//..mandando un CD AGA (che generalmente funziona!) ad un cliente di un distributore non AGA, il reseller..
//..a video non cambia. Per cambiare reseller si dovrà intervenire a mano sull'oem.ini cambiando il valore..
//..di OEM dopo l'installazione
const wxString strOemLocPath = strSetupLocPath + "/oem.ini";
CampoIniFile CampoIniOem(strOemLocPath, "MAIN");
const int nOldOem = CampoIniOem.GetInt("OEM");
//svuota proprio la directory setup in modo da non coservare files indesiderati
EmptyOutDir(strOemLocPath);
//copia la directory setup da CD a locale
CopyDir(strSetupCDPath, strSetupLocPath); CopyDir(strSetupCDPath, strSetupLocPath);
//rimette a posto la candela...cioè, il reseller
CampoIniOem.Set("OEM", nOldOem);
//..Fine dell'aggiornamento della cartella setup
UnzipModule(strPrgLocPath, strPrgCDPath, "sy"); UnzipModule(strPrgLocPath, strPrgCDPath, "sy");
UnzipModule(strPrgLocPath, strPrgCDPath, "sr"); UnzipModule(strPrgLocPath, strPrgCDPath, "sr");
} }
@ -1418,6 +1432,9 @@ void CampoSetup::OnTimer(wxTimerEvent& WXUNUSED(e))
m_bLurchWasRunning = LurchRunning(); m_bLurchWasRunning = LurchRunning();
if (m_bLurchWasRunning) if (m_bLurchWasRunning)
{ {
//cazzone
const unsigned short sCazzoni = ServerLoggedUsers("127.0.0.1");
//fine cazzone
wxString msg; wxString msg;
msg << "Per poter aggiornare/installare il programma " << PRODUCT msg << "Per poter aggiornare/installare il programma " << PRODUCT
<< " deve temporaneamente essere disattivato il gestore delle licenze!\n" << " deve temporaneamente essere disattivato il gestore delle licenze!\n"

Binary file not shown.

View File

@ -211,7 +211,7 @@ static unsigned short InquireSocketNumber(wxSocketClient& sc, const wxString& st
//metodo per sapere dal server di chiave quanti sono gli utonti connessi;non funziona finchè ai servers non.. //metodo per sapere dal server di chiave quanti sono gli utonti connessi;non funziona finchè ai servers non..
//..viene aggiunto il metodo NumberActiveUsers (è qui come segnaposto futuro) //..viene aggiunto il metodo NumberActiveUsers (è qui come segnaposto futuro)
unsigned short InquireActiveUsers(const wxString& strSrvName) unsigned short ServerLoggedUsers(const wxString& strSrvName)
{ {
unsigned short nUtonti = 0; unsigned short nUtonti = 0;
wxIPV4address ip; wxIPV4address ip;
@ -220,8 +220,8 @@ unsigned short InquireActiveUsers(const wxString& strSrvName)
wxSocketClient& sc = m_bordello.Zoccola(ip); wxSocketClient& sc = m_bordello.Zoccola(ip);
if (sc.IsConnected() || sc.Connect(ip)) //il computer remoto risponde if (sc.IsConnected() || sc.Connect(ip)) //il computer remoto risponde
{ {
// quanti utonti sono appesi? // quante licenze sono loggate al momento (utonti connessi)
nUtonti = InquireSocketNumber(sc, "NumberActiveUsers()"); nUtonti = InquireSocketNumber(sc, "DongleLoggedLicenses");
} }
} }
return nUtonti; return nUtonti;

View File

@ -8,6 +8,7 @@ void EncodeEutronPassword(char* str);
unsigned short EutronLogin(int& year); unsigned short EutronLogin(int& year);
unsigned short ServerLogin(int& year, wxString& strSrvName); unsigned short ServerLogin(int& year, wxString& strSrvName);
unsigned short ServerLoggedUsers(const wxString& strSrvName);
bool DictionaryLogin(const wxString& strSrvName); bool DictionaryLogin(const wxString& strSrvName);
#endif #endif

View File

@ -420,7 +420,7 @@ wxString CampoIniFile::Get(const wxString strVariable) const
{ {
wxString strOutString; wxString strOutString;
char* buffer = strOutString.GetWriteBuf(256); char* buffer = strOutString.GetWriteBuf(256);
GetPrivateProfileString(m_strGroup, strVariable, "", buffer, 256, m_strIniName); ::GetPrivateProfileString(m_strGroup, strVariable, "", buffer, 256, m_strIniName);
strOutString.UngetWriteBuf(); //sblocca la memoria senno' la stringa resta per sempre!!! strOutString.UngetWriteBuf(); //sblocca la memoria senno' la stringa resta per sempre!!!
return strOutString; return strOutString;
@ -439,14 +439,14 @@ int CampoIniFile::GetInt(const wxString strVariable) const
bool CampoIniFile::Set(const wxString strVariable, const wxString strValue) bool CampoIniFile::Set(const wxString strVariable, const wxString strValue)
{ {
return WritePrivateProfileString(m_strGroup, strVariable, strValue, m_strIniName) != 0; return ::WritePrivateProfileString(m_strGroup, strVariable, strValue, m_strIniName) != 0;
} }
bool CampoIniFile::Set(const wxString strVariable, const int uValue) bool CampoIniFile::Set(const wxString strVariable, const int uValue)
{ {
wxString strValue; wxString strValue;
strValue << uValue; strValue << uValue;
return WritePrivateProfileString(m_strGroup, strVariable, strValue, m_strIniName) != 0; return ::WritePrivateProfileString(m_strGroup, strVariable, strValue, m_strIniName) != 0;
} }
//costruttore //costruttore