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()
{
//creazione del CampoWizard, ovvero dell'insieme di finestre per gestire installazione/aggiornamento
m_pWizard = new CampoWizard(m_pMainFrame);
if (m_pWizard->Run())

View File

@ -7,6 +7,14 @@
#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()
{
//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);
wxString GetWindowsProgramDirectory();
int GetSessionId();
#endif

View File

@ -738,29 +738,54 @@ public:
bool CampoWizardPage5::ForwardValidate()
{
// 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);
return true;
}
CampoWizardPage5::CampoWizardPage5(wxWizard* parent) : CampoWizardPage(parent)
{
//chiede al sistema se e' in modalita' termserv (win2003/2008srv)
const int nSessionId = GetSessionId();
//Istruzioni per l'uso!
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>");
strBody += wxT("<p><b>Installazioni di rete</b> (per utenti esperti)</p>");
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("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>");
wxString strBody;
if (nSessionId == 0)
{
strBody = wxT("<p><b>Standard (scelta consigliata)</b>. Installazione su postazione singola, con programmi e dati sul disco locale del computer</p>");
strBody += wxT("<p><b>Installazioni di rete</b> (per utenti esperti)</p>");
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("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);
//radiobutton con i tipi di installazione
wxArrayString asInstType;
asInstType.Add("Standard");
asInstType.Add("Server");
asInstType.Add("Client");
if (nSessionId == 0)
{
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,
wxDefaultSize, asInstType, 0, wxRA_SPECIFY_ROWS);
@ -978,21 +1003,43 @@ bool CampoWizardPage7::ForwardValidate()
CampoWizardPage7::CampoWizardPage7(wxWizard* parent) : CampoWizardPage(parent)
{
wxString strTitle = wxT("Installazione di tipo Server");
wxString 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 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>");
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("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<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>");
const int nSessionId = GetSessionId();
wxString strTitle;
wxString strBody;
if (nSessionId == 0)
{
strTitle = wxT("Installazione di tipo 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 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>");
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("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);
@ -1027,7 +1074,12 @@ CampoWizardPage7::CampoWizardPage7(wxWizard* parent) : CampoWizardPage(parent)
//terza riga della griglia
//check installa authoriz
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));
//server authoriz
wxTextCtrl* tcAuthoriz = new wxTextCtrl(this, 706, "localhost", wxDefaultPosition, wxSize(96,-1));
@ -1046,12 +1098,17 @@ CampoWizardPage7::CampoWizardPage7(wxWizard* parent) : CampoWizardPage(parent)
//quinta riga della griglia
//radiobutton con i tipi di installazione
wxArrayString asInstType;
asInstType.Add("Come servizi (consigliato)");
asInstType.Add("Nel menu esecuzione automatica");
wxArrayString asInstType;
if (nSessionId == 0)
{
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,
wxDefaultSize, asInstType, 0, wxRA_SPECIFY_COLS);
wxDefaultSize, asInstType, 0, wxRA_SPECIFY_COLS);
//setta il default a "come servizio"
m_pRadioBox->SetSelection(0);
m_pRadioBox->Disable();
@ -1337,7 +1394,10 @@ bool CampoWizardPage10::TransferDataToWindow()
switch (_uInstallType)
{
case it_server: //server
_strInstallType = "Server";
if (GetSessionId() > 0)
_strInstallType = "Terminal Server";
else
_strInstallType = "Server";
_strPrgLocPath = cw.GetPrgLocPath();
_strDataPath = cw.GetDataPath();
_strSrvAuth = cw.GetSrvAuth();
@ -1409,7 +1469,7 @@ bool CampoWizardPage10::TransferDataToWindow()
strBody += wxT(Bold(_strInstallType) + "</p>");
strBody += wxT("<p>Cartella dove installare il programma: ");
strBody += wxT(Bold(_strPrgLocPath) + "</p>");
if (_uInstallType == 2)
if (_uInstallType == it_client)
{
strBody += wxT("<p>Cartella di origine dei files del programma: ");
strBody += wxT(Bold(_strPrgNetPath) + "</p>");
@ -1435,17 +1495,17 @@ bool CampoWizardPage10::TransferDataToWindow()
strBody += wxT(Bold(_strSrvDict) + "</p>");
}
//...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: ");
if (_iSrvAutostartMode == 0)
if (_iSrvAutostartMode == lm_service)
strBody += wxT(Bold("Come servizi") + "</p>");
else
strBody += wxT(Bold("Nel menu esecuzione automatica") + "</p>");
}
//installazione dati demo (solo in postazione singola)
if (_uInstallType == 0 && _bInstDemoData)
if (_uInstallType == it_standalone && _bInstDemoData)
strBody += wxT("<p>Installazione area dati dimostrativa</p>");
if (_bDesktopShortcut)