Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :


git-svn-id: svn://10.65.10.50/trunk@15829 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2007-12-03 14:22:50 +00:00
parent 78d685a2f8
commit f81a2f7e8e
4 changed files with 106 additions and 36 deletions

View File

@ -747,6 +747,7 @@ void CampoSetup::InternetUpdate()
//-------------------------------------------------------------------------- //--------------------------------------------------------------------------
void CampoSetup::NormalSetup() void CampoSetup::NormalSetup()
{ {
//creazione del CampoWizard, ovvero dell'insieme di finestre per gestire installazione/aggiornamento
m_pWizard = new CampoWizard(m_pMainFrame); m_pWizard = new CampoWizard(m_pMainFrame);
if (m_pWizard->Run()) if (m_pWizard->Run())

View File

@ -7,6 +7,14 @@
#endif #endif
//metodo per farsi ritornare l'ID di sessione e quindi sapere se si e' in modalita' termserv (win2000,win2003,win2008)
int GetSessionId()
{
DWORD session = 0;
::ProcessIdToSessionId(GetCurrentProcessId(), &session);
return (int) session;
}
wxString GetWindowsProgramDirectory() wxString GetWindowsProgramDirectory()
{ {
//scelta della directory di installazione di default //scelta della directory di installazione di default

View File

@ -52,5 +52,6 @@ void CheckAndMakeDir(const wxString& strDir, const wxString& strMsg);
bool UnzipFile(const char* strZipFile, const char* strDestdir); bool UnzipFile(const char* strZipFile, const char* strDestdir);
wxString GetWindowsProgramDirectory(); wxString GetWindowsProgramDirectory();
int GetSessionId();
#endif #endif

View File

@ -738,29 +738,54 @@ public:
bool CampoWizardPage5::ForwardValidate() bool CampoWizardPage5::ForwardValidate()
{ {
// controlla il tipo di installazione! // controlla il tipo di installazione!
const int nType = m_pRadioBox->GetSelection() + 1; const int nSessionId = GetSessionId();
int nType = 1;
//nessun SessionId -> installazione comune -> selection dal radiobutton
if (nSessionId == 0)
nType = m_pRadioBox->GetSelection() + 1;
else //SessionId != 0 -> Terminal Server -> installazione di tipo Server obbligata!!!
nType = 2;
GetWizard().SetInstallationType((InstallationType)nType); GetWizard().SetInstallationType((InstallationType)nType);
return true; return true;
} }
CampoWizardPage5::CampoWizardPage5(wxWizard* parent) : CampoWizardPage(parent) CampoWizardPage5::CampoWizardPage5(wxWizard* parent) : CampoWizardPage(parent)
{ {
//chiede al sistema se e' in modalita' termserv (win2003/2008srv)
const int nSessionId = GetSessionId();
//Istruzioni per l'uso! //Istruzioni per l'uso!
wxString strTitle = wxT("Scelta del tipo di installazione"); wxString strTitle = wxT("Scelta del tipo di installazione");
wxString strBody = wxT("<p><b>Standard (scelta consigliata)</b>. Installazione su postazione singola, con programmi e dati sul disco locale del computer</p>"); wxString strBody;
strBody += wxT("<p><b>Installazioni di rete</b> (per utenti esperti)</p>"); if (nSessionId == 0)
strBody += wxT("<p><b>Server</b>: Computer in rete sul quale sono presenti una copia, utilizzata o meno, dei programmi (server programmi) e larea dati (server dati). "); {
strBody += wxT("In una installazione in rete di <b><i>APPNAME</i></b> e' necessario sia presente un unica postazione di tipo server, "); strBody = wxT("<p><b>Standard (scelta consigliata)</b>. Installazione su postazione singola, con programmi e dati sul disco locale del computer</p>");
strBody += wxT("e deve essere installata per prima!</p>"); strBody += wxT("<p><b>Installazioni di rete</b> (per utenti esperti)</p>");
strBody += wxT("<p><b>Client</b>: Computer in rete sul quale e' presente una copia dei programmi ma non l'area dati. "); strBody += wxT("<p><b>Server</b>: Computer in rete sul quale sono presenti una copia, utilizzata o meno, dei programmi (server programmi) e larea dati (server dati). ");
strBody += wxT("I client possono essere installati solo dopo l'installazione del server!</p>"); strBody += wxT("In una installazione in rete di <b><i>APPNAME</i></b> e' necessario sia presente un unica postazione di tipo server, ");
strBody += wxT("e deve essere installata per prima!</p>");
strBody += wxT("<p><b>Client</b>: Computer in rete sul quale e' presente una copia dei programmi ma non l'area dati. ");
strBody += wxT("I client possono essere installati solo dopo l'installazione del server!</p>");
}
else
{
strBody += wxT("<p><b>Terminal Server</b>: Computer con sistema operativo tipo Windows 2003/2008 Server. ");
strBody += wxT("L'installazione e' unica e viene utilizzata dagli utenti di sistema quando aprono una sessione sul server.</p>");
strBody += wxT("<p>Selezionando configurazione Terminal Server <i>e' necessario</i> installare il gestore delle autorizzazioni per ");
strBody += wxT("poter gestire l'accesso contemporaneo di piu' utenti.</p>");
}
SetHTMLText(strTitle, strBody); SetHTMLText(strTitle, strBody);
//radiobutton con i tipi di installazione //radiobutton con i tipi di installazione
wxArrayString asInstType; wxArrayString asInstType;
asInstType.Add("Standard"); if (nSessionId == 0)
asInstType.Add("Server"); {
asInstType.Add("Client"); asInstType.Add("Standard");
asInstType.Add("Server");
asInstType.Add("Client");
}
else
asInstType.Add("Terminal Server");
m_pRadioBox = new wxRadioBox(this, 501, "Selezionare il tipo di installazione", wxDefaultPosition, m_pRadioBox = new wxRadioBox(this, 501, "Selezionare il tipo di installazione", wxDefaultPosition,
wxDefaultSize, asInstType, 0, wxRA_SPECIFY_ROWS); wxDefaultSize, asInstType, 0, wxRA_SPECIFY_ROWS);
@ -978,21 +1003,43 @@ bool CampoWizardPage7::ForwardValidate()
CampoWizardPage7::CampoWizardPage7(wxWizard* parent) : CampoWizardPage(parent) CampoWizardPage7::CampoWizardPage7(wxWizard* parent) : CampoWizardPage(parent)
{ {
wxString strTitle = wxT("Installazione di tipo Server"); const int nSessionId = GetSessionId();
wxString strBody = wxT("<p>Digitare nel campo <b>'Cartella programma'</b> il percorso completo della cartella dove si desidera installare il programma. "); wxString strTitle;
strBody += wxT("Il percorso consigliato e' <i>C:\\APPNAME</i> </p>"); wxString strBody;
strBody += wxT("<p>Digitare nel campo <b>'Cartella dati'</b> il percorso completo della cartella dove si desidera installare l'area dati. ");
strBody += wxT("Il percorso consigliato e' <i>C:\\APPNAME\\dati</i> </p>"); if (nSessionId == 0)
strBody += wxT("<p>Le cartelle del programma e dei dati <b><u>dovranno essere condivise in modalita' lettura/scrittura</u></b> agli utenti di sistema e di rete che utilizzeranno il software <b><i>APPNAME</i></b>. "); {
strBody += wxT("In mancanza di tale condivisione nessun client potra' accedere al server!</p>"); strTitle = wxT("Installazione di tipo Server");
strBody += wxT("<p><b>Gestore autorizzazioni:</b> e' il software che permette di gestire una chiave di protezione hardware multiutenza condivisa in rete. "); strBody = wxT("<p>Digitare nel campo <b>'Cartella programma'</b> il percorso completo della cartella dove si desidera installare il programma. ");
strBody += wxT("Installando tale software e' necessario specificare il computer su cui e' montata la chiave di protezione multiutenza."); strBody += wxT("Il percorso consigliato e' <i>C:\\APPNAME</i> </p>");
strBody += wxT("Viene di default proposto il computer su cui si sta eseguendo l'installazione di APPNAME (localhost).</p>"); strBody += wxT("<p>Digitare nel campo <b>'Cartella dati'</b> il percorso completo della cartella dove si desidera installare l'area dati. ");
strBody += wxT("<p><b>Gestore dizionari:</b> e' il software che permette di utilizzare APPNAME in lingue diverse dall'italiano. "); strBody += wxT("Il percorso consigliato e' <i>C:\\APPNAME\\dati</i> </p>");
strBody += wxT("Per l'installazione di questo software viene di default proposto il computer su cui si sta eseguendo l'installazione di APPNAME (localhost).</p>"); strBody += wxT("<p>Le cartelle del programma e dei dati <b><u>dovranno essere condivise in modalita' lettura/scrittura</u></b> agli utenti di sistema e di rete che utilizzeranno il software <b><i>APPNAME</i></b>. ");
strBody += wxT("<p><b>Modalita' di esecuzione programmi di gestione</b><br>"); strBody += wxT("In mancanza di tale condivisione nessun client potra' accedere al server!</p>");
strBody += wxT("<u>Come servizi:</u> i programmi di gestione vengono eseguiti come servizi di Windows; questa e' la modalita' consigliata ed e' obbligatoria in caso di installazione con Windows 2003<br>"); strBody += wxT("<p><b>Gestore autorizzazioni:</b> e' il software che permette di gestire una chiave di protezione hardware multiutenza condivisa in rete. ");
strBody += wxT("<u>Nel menu esecuzione automatica:</u> i programmi di gestione vengono eseguiti automaticamente al primo accesso di un utente al server di APPNAME; usare questa modalita' solo nell'impossibilita' di utilizzare la precedente</p>"); strBody += wxT("Installando tale software e' necessario specificare il computer su cui e' montata la chiave di protezione multiutenza.");
strBody += wxT("Viene di default proposto il computer su cui si sta eseguendo l'installazione di APPNAME (localhost).</p>");
strBody += wxT("<p><b>Gestore dizionari:</b> e' il software che permette di utilizzare APPNAME in lingue diverse dall'italiano. ");
strBody += wxT("Per l'installazione di questo software viene di default proposto il computer su cui si sta eseguendo l'installazione di APPNAME (localhost).</p>");
strBody += wxT("<p><b>Modalita' di esecuzione programmi di gestione</b><br>");
strBody += wxT("<u>Come servizi:</u> i programmi di gestione vengono eseguiti come servizi di Windows; questa e' la modalita' consigliata ed e' obbligatoria in caso di installazione con Windows 2003/2008<br>");
strBody += wxT("<u>Nel menu esecuzione automatica:</u> i programmi di gestione vengono eseguiti automaticamente al primo accesso di un utente al server di APPNAME; usare questa modalita' solo nell'impossibilita' di utilizzare la precedente</p>");
}
else
{
strTitle = wxT("Installazione di tipo Terminal Server");
strBody = wxT("<p>Digitare nel campo <b>'Cartella programma'</b> il percorso completo della cartella dove si desidera installare il programma. ");
strBody += wxT("Il percorso consigliato e' <i>C:\\APPNAME</i> </p>");
strBody += wxT("<p>Digitare nel campo <b>'Cartella dati'</b> il percorso completo della cartella dove si desidera installare l'area dati. ");
strBody += wxT("Il percorso consigliato e' <i>C:\\APPNAME\\dati</i> </p>");
strBody += wxT("<p>Le cartelle del programma e dei dati <b><u>dovranno essere accessibili in modalita' lettura/scrittura</u></b> agli utenti di sistema e di rete che utilizzeranno il software <b><i>APPNAME</i></b>. ");
strBody += wxT("In mancanza di tale modalita' nessun utente potra' utilizzare il software <b><i>APPNAME</i></b> !</p>");
strBody += wxT("<p><b>Gestore autorizzazioni:</b> e' il software che permette di gestire una chiave di protezione hardware multiutenza condivisa in rete. ");
strBody += wxT("E' <b>necessario</b> installare questo software specificando <i>localhost</i> come computer su cui e' montata la chiave di protezione multiutenza.</p>");
strBody += wxT("<p><b>Gestore dizionari:</b> e' il software che permette di utilizzare APPNAME in lingue diverse dall'italiano. ");
strBody += wxT("E' <b>necessario</b> installare questo software specificando <i>localhost</i> come computer su cui installare il servizio.</p>");
strBody += wxT("<p><b>Modalita' di esecuzione programmi di gestione:</b> <i><u>obbligatorio come servizi</u></i>!<br>");
}
SetHTMLText(strTitle, strBody); SetHTMLText(strTitle, strBody);
@ -1027,7 +1074,12 @@ CampoWizardPage7::CampoWizardPage7(wxWizard* parent) : CampoWizardPage(parent)
//terza riga della griglia //terza riga della griglia
//check installa authoriz //check installa authoriz
wxCheckBox* chAuthoriz = new wxCheckBox(this, 705, wxT("Installa il gestore delle autorizzazioni")); wxCheckBox* chAuthoriz = new wxCheckBox(this, 705, wxT("Installa il gestore delle autorizzazioni"));
chAuthoriz->SetValue(false); //e' obbligatorio installare authoriz in caso di terminal server!
if (nSessionId == 0)
chAuthoriz->SetValue(false);
else
chAuthoriz->SetValue(true);
gbsSizer->Add(chAuthoriz, wxGBPosition(2, 1)); gbsSizer->Add(chAuthoriz, wxGBPosition(2, 1));
//server authoriz //server authoriz
wxTextCtrl* tcAuthoriz = new wxTextCtrl(this, 706, "localhost", wxDefaultPosition, wxSize(96,-1)); wxTextCtrl* tcAuthoriz = new wxTextCtrl(this, 706, "localhost", wxDefaultPosition, wxSize(96,-1));
@ -1047,11 +1099,16 @@ CampoWizardPage7::CampoWizardPage7(wxWizard* parent) : CampoWizardPage(parent)
//quinta riga della griglia //quinta riga della griglia
//radiobutton con i tipi di installazione //radiobutton con i tipi di installazione
wxArrayString asInstType; wxArrayString asInstType;
asInstType.Add("Come servizi (consigliato)"); if (nSessionId == 0)
asInstType.Add("Nel menu esecuzione automatica"); {
asInstType.Add("Come servizi (consigliato)");
asInstType.Add("Nel menu esecuzione automatica");
}
else
asInstType.Add("Come servizi (obbligatorio)");
m_pRadioBox = new wxRadioBox(this, 709, "Modalita' di esecuzione gestori", wxDefaultPosition, m_pRadioBox = new wxRadioBox(this, 709, "Modalita' di esecuzione gestori", wxDefaultPosition,
wxDefaultSize, asInstType, 0, wxRA_SPECIFY_COLS); wxDefaultSize, asInstType, 0, wxRA_SPECIFY_COLS);
//setta il default a "come servizio" //setta il default a "come servizio"
m_pRadioBox->SetSelection(0); m_pRadioBox->SetSelection(0);
m_pRadioBox->Disable(); m_pRadioBox->Disable();
@ -1337,7 +1394,10 @@ bool CampoWizardPage10::TransferDataToWindow()
switch (_uInstallType) switch (_uInstallType)
{ {
case it_server: //server case it_server: //server
_strInstallType = "Server"; if (GetSessionId() > 0)
_strInstallType = "Terminal Server";
else
_strInstallType = "Server";
_strPrgLocPath = cw.GetPrgLocPath(); _strPrgLocPath = cw.GetPrgLocPath();
_strDataPath = cw.GetDataPath(); _strDataPath = cw.GetDataPath();
_strSrvAuth = cw.GetSrvAuth(); _strSrvAuth = cw.GetSrvAuth();
@ -1409,7 +1469,7 @@ bool CampoWizardPage10::TransferDataToWindow()
strBody += wxT(Bold(_strInstallType) + "</p>"); strBody += wxT(Bold(_strInstallType) + "</p>");
strBody += wxT("<p>Cartella dove installare il programma: "); strBody += wxT("<p>Cartella dove installare il programma: ");
strBody += wxT(Bold(_strPrgLocPath) + "</p>"); strBody += wxT(Bold(_strPrgLocPath) + "</p>");
if (_uInstallType == 2) if (_uInstallType == it_client)
{ {
strBody += wxT("<p>Cartella di origine dei files del programma: "); strBody += wxT("<p>Cartella di origine dei files del programma: ");
strBody += wxT(Bold(_strPrgNetPath) + "</p>"); strBody += wxT(Bold(_strPrgNetPath) + "</p>");
@ -1435,17 +1495,17 @@ bool CampoWizardPage10::TransferDataToWindow()
strBody += wxT(Bold(_strSrvDict) + "</p>"); strBody += wxT(Bold(_strSrvDict) + "</p>");
} }
//...e loro modalita' di lancio (solo installazione server!) //...e loro modalita' di lancio (solo installazione server!)
if (_uInstallType == 1 && (!_strSrvAuth.IsEmpty() || !_strSrvDict.IsEmpty()) && _iSrvAutostartMode >= 0) if (_uInstallType == it_server && (!_strSrvAuth.IsEmpty() || !_strSrvDict.IsEmpty()) && _iSrvAutostartMode >= 0)
{ {
strBody += wxT("<p>Modalita' di esecuzione dei programmi di gestione: "); strBody += wxT("<p>Modalita' di esecuzione dei programmi di gestione: ");
if (_iSrvAutostartMode == 0) if (_iSrvAutostartMode == lm_service)
strBody += wxT(Bold("Come servizi") + "</p>"); strBody += wxT(Bold("Come servizi") + "</p>");
else else
strBody += wxT(Bold("Nel menu esecuzione automatica") + "</p>"); strBody += wxT(Bold("Nel menu esecuzione automatica") + "</p>");
} }
//installazione dati demo (solo in postazione singola) //installazione dati demo (solo in postazione singola)
if (_uInstallType == 0 && _bInstDemoData) if (_uInstallType == it_standalone && _bInstDemoData)
strBody += wxT("<p>Installazione area dati dimostrativa</p>"); strBody += wxT("<p>Installazione area dati dimostrativa</p>");
if (_bDesktopShortcut) if (_bDesktopShortcut)