Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :


git-svn-id: svn://10.65.10.50/trunk@15621 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2007-09-17 14:20:41 +00:00
parent 22af546170
commit daf2127836
2 changed files with 104 additions and 54 deletions

View File

@ -96,6 +96,7 @@ public:
wxString Get(wxWindowID id) const;
int GetSelection(wxWindowID id) const;
bool GetBool(wxWindowID id) const;
void Set(wxWindowID id, const wxString str);
//metodi per il passaggio tra le finestre dei parametri di installazione!
void SetDestinationPath(const wxString& strPath);
@ -548,13 +549,13 @@ END_EVENT_TABLE()
void CampoWizardPage4::OnHLPick(wxCommandEvent& e)
{
wxString path("../chiavi/hardlock/hldrv32.exe");
wxString path("../../chiavi/hardlock/hldrv32.exe");
wxExecute(path, wxEXEC_SYNC);
}
void CampoWizardPage4::OnEUPick(wxCommandEvent& e)
{
wxString path("../chiavi/eutron/sdi.exe");
wxString path("../../chiavi/eutron/sdi.exe");
wxExecute(path, wxEXEC_SYNC);
}
@ -603,18 +604,18 @@ bool CampoWizardPage4::TransferDataToWindow()
{
case 1:
strBody += wxT("<p>E' stata rilevata una chiave tipo <b>Hardlock</b>:</p>");
strBody += wxT("<p align=center><img src=\"../campo/servers/hardlock.gif\" /></p>");
strBody += wxT("<p>Si puo' procedere con l'installazione /aggiornamento del software <b><i>APPNAME</i></b>. Premere il pulsante \"Next\".</p>");
strBody += wxT("<p align=center><img src=\"../servers/hardlock.gif\" /></p>");
strBody += wxT("<p>Si puo' procedere con l'installazione /aggiornamento del software <b><i>APPNAME</i></b>. Premere il pulsante \"Avanti\".</p>");
break;
case 2:
strBody += wxT("<p>E' stata rilevata una chiave tipo <b>Eutron</b>:</p>");
strBody += wxT("<p align=center><img src=\"../campo/servers/eutron.gif\" /></p>");
strBody += wxT("<p>Si puo' procedere con l'installazione /aggiornamento del software <b><i>APPNAME</i></b>. Premere il pulsante \"Next\".</p>");
strBody += wxT("<p align=center><img src=\"../servers/eutron.gif\" /></p>");
strBody += wxT("<p>Si puo' procedere con l'installazione /aggiornamento del software <b><i>APPNAME</i></b>. Premere il pulsante \"Avanti\".</p>");
break;
case 3:
strBody += wxT("<p>E' stato rilevata una chiave remota condivisa in rete con il servizio di gestione autorizzazioni:</p>");
strBody += wxT("<p align=center><img src=\"../campo/servers/autho.gif\" /></p>");
strBody += wxT("<p>Si puo' procedere con l'installazione /aggiornamento del software <b><i>APPNAME</i></b>. Premere il pulsante \"Next\".</p>");
strBody += wxT("<p align=center><img src=\"../servers/autho.gif\" /></p>");
strBody += wxT("<p>Si puo' procedere con l'installazione /aggiornamento del software <b><i>APPNAME</i></b>. Premere il pulsante \"Avanti\".</p>");
Set(404, GetWizard().GetSrvAuth());
break;
@ -658,7 +659,7 @@ wxString CampoWizardPage4::DecodeString(const wxString& data)
int CampoWizardPage4::VersionYear()
{
char ver[32];
GetPrivateProfileString("ba", "Versione", "", ver, sizeof(ver), "../program/install.ini");
GetPrivateProfileString("ba", "Versione", "", ver, sizeof(ver), "../../program/install.ini");
ver[4] = '\0';
return atoi(ver);
}
@ -700,7 +701,7 @@ int CampoWizardPage4::DongleTest()
if (yearKey < verYear) // Chiave già programmata con assistenza pagata
{
bool ok = false;
wxFileInputStream file("../campo/dninst.zip");
wxFileInputStream file("../dninst.zip");
if (file.IsOk())
{
wxTextInputStream keys(file);
@ -757,7 +758,7 @@ CampoWizardPage4::CampoWizardPage4(wxWizard* parent) : CampoWizardPage(parent)
//Hardlock label
AddLabel(gbsButtSizer, "Installa chiave locale di tipo Hardlock", 0, 0);
//Hardlock image
wxBitmap bmp_HL("../campo/servers/hardlock.gif", wxBITMAP_TYPE_GIF);
wxBitmap bmp_HL("../servers/hardlock.gif", wxBITMAP_TYPE_GIF);
wxStaticBitmap* s_bmp_HL = new wxStaticBitmap(this, wxID_ANY, bmp_HL);
gbsButtSizer->Add(s_bmp_HL, wxGBPosition(0, 1));
//bottone Hardlock
@ -768,7 +769,7 @@ CampoWizardPage4::CampoWizardPage4(wxWizard* parent) : CampoWizardPage(parent)
//Eutron label
AddLabel(gbsButtSizer, "Installa chiave locale di tipo Eutron", 1, 0);
//Eutron image
wxBitmap bmp_EU("../campo/servers/eutron.gif", wxBITMAP_TYPE_GIF);
wxBitmap bmp_EU("../servers/eutron.gif", wxBITMAP_TYPE_GIF);
wxStaticBitmap* s_bmp_EU = new wxStaticBitmap(this, wxID_ANY, bmp_EU);
gbsButtSizer->Add(s_bmp_EU, wxGBPosition(1, 1));
//bottone Eutron
@ -897,9 +898,9 @@ CampoWizardPage6::CampoWizardPage6(wxWizard* parent) : CampoWizardPage(parent)
{
wxString strTitle = wxT("Installazione di tipo Standard");
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 di default (consigliato) e' <i>C:\\Campo</i> </p>");
strBody += wxT("Il percorso di default (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 di default (consigliato) e' <i>C:\\Campo\\dati</i> </p>");
strBody += wxT("Il percorso di default (consigliato) e' <i>C:\\APPNAME\\dati</i> </p>");
strBody += wxT("<p><b>Dati dimostrativi:</b> area dati precompilata per installazioni di tipo dimostrativo del funzionamento del software. ");
strBody += wxT("<b>NON</b> vanno caricati nel caso di una normale installazione!</p>");
SetHTMLText(strTitle, strBody);
@ -1044,9 +1045,9 @@ 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:\\Campo</i> </p>");
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:\\Campo\\dati</i> </p>");
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. ");
@ -1241,7 +1242,7 @@ CampoWizardPage8::CampoWizardPage8(wxWizard* parent) : CampoWizardPage(parent)
{
wxString strTitle = wxT("Installazione di tipo Client");
wxString strBody = wxT("<p>Digitare nel campo <b>'Cartella locale programma'</b> il percorso completo della cartella dove si desidera installare il programma. ");
strBody += wxT("Il percorso consigliato e' <i>C:\\Campo</i> </p>");
strBody += wxT("Il percorso consigliato e' <i>C:\\APPNAME</i> </p>");
strBody += wxT("<p>Digitare nel campo <b>'Cartella remota origine programmi'</b> il percorso completo della cartella di rete dove sono i files origine del programma. ");
strBody += wxT("E' la cartella di programmi condivisa dal server precedentemente installato.</p>");
strBody += wxT("<p>Digitare nel campo <b>'Cartella remota dati da utilizzare'</b> il percorso completo della cartella di rete dove sono i dati. ");
@ -1480,7 +1481,6 @@ CampoWizardPage10::CampoWizardPage10(wxWizard* parent) : CampoWizardPage(parent)
}
///////////////////////////////////////////////////////////
// CampoWizard
///////////////////////////////////////////////////////////
@ -1523,6 +1523,14 @@ bool CampoWizard::GetBool(wxWindowID id) const
return pWnd != NULL && pWnd->IsChecked();
}
void CampoWizard::Set(wxWindowID id, const wxString str)
{
wxWindow* pWnd = FindWindowById(id);
if (pWnd != NULL)
pWnd->SetLabel(str);
}
//lunga litania di metodi per gettare e settare i valori tra le pagine
void CampoWizard::SetDestinationPath(const wxString& path)
{
@ -1719,15 +1727,13 @@ CampoWizard::CampoWizard(wxWindow* pParent)
wxWindow* pNext = FindWindowById(wxID_FORWARD);
if (pNext != NULL)
pNext->SetLabel("Continua");
pNext->SetLabel("Avanti");
wxWindow* pPrev = FindWindowById(wxID_BACKWARD);
if (pPrev != NULL)
pPrev->SetLabel("C'ho ripensato");
pPrev->SetLabel("Indietro");
wxWindow* pCancel = FindWindowById(wxID_CANCEL);
if (pCancel != NULL)
pCancel->SetLabel("Mittico! Ma vaff...");
Set(wxID_CANCEL, "Annulla");
}
@ -1800,6 +1806,7 @@ class CampoSetup : public wxApp
{
CampoFrame* m_pMainFrame;
wxLocale m_locale;
wxString m_strSetupPath;
CampoWizard* m_pWizard;
@ -1811,7 +1818,6 @@ private:
protected:
DECLARE_EVENT_TABLE()
void OnTimer(wxTimerEvent& e);
// void OnSocketEvent(wxSocketEvent& se);
bool CreateIcon(unsigned int csidl, const wxFileName& strExeFile) const;
bool CreateAutostartMode(const int iSrvAutostartMode, const wxString& strPath);
void AssociateExtension(const wxFileName& strExeFile, const wxString strExt);
@ -1824,6 +1830,7 @@ protected:
void CheckAndMakeDir(const wxString& strDir, const wxString& strMsg) const;
bool UnzipFile(const char* strZipFile, const char* strDestdir) const;
size_t GetZipList(const char* strZipFile, wxArrayString& aFiles) const;
const wxString GetSourceDir(const wxString strDirName) const;
void UnzipSystem(const wxString& strPrgLocPath) const;
public:
@ -1834,19 +1841,9 @@ IMPLEMENT_APP(CampoSetup)
BEGIN_EVENT_TABLE(CampoSetup, wxApp)
EVT_TIMER(883, OnTimer)
//EVT_SOCKET(1001, CampoSetup::OnSocketEvent(wxSocketEvent& se))
END_EVENT_TABLE()
/*void CampoSetup::OnSocketEvent(wxSocketEvent& se)
{
if (se.GetSocketEvent() == wxSOCKET_CONNECTION)
{
m_pWizard
}
}*/
//metodi di lettura/scrittura registry di windows (fantastici!)
wxString CampoSetup::ReadRegistryKey(HKEY hBaseKey, const wxString strKey) const
{
@ -2138,15 +2135,24 @@ static int PatchCompare(const wxString& first, const wxString& second)
return strName1.CompareTo(strName2);
}
const wxString CampoSetup::GetSourceDir(const wxString strDirName) const
{
wxFileName strSourcePath(m_strSetupPath, "pippo.txt");
strSourcePath.AppendDir("..");
strSourcePath.AppendDir("..");
strSourcePath.AppendDir(strDirName);
strSourcePath.MakeAbsolute();
const wxString strSrc = strSourcePath.GetPath();
return strSrc;
}
void CampoSetup::UnzipSystem(const wxString& strPrgLocPath) const
{
wxArrayString asFilesList;
wxFileName strSourcePath(wxGetCwd(), "sy*.zip");
strSourcePath.AppendDir("..");
strSourcePath.AppendDir("program");
strSourcePath.MakeAbsolute();
const wxString strSrc = GetSourceDir("program");
//..contando anche quanti sono e memorizzandoli in un array asFileList
const size_t uFilesToCopy = wxDir::GetAllFiles(strSourcePath.GetPath(), &asFilesList, strSourcePath.GetFullName());
const size_t uFilesToCopy = wxDir::GetAllFiles(strSrc, &asFilesList, "sy*.zip");
if (uFilesToCopy > 0)
{
//ordina le patch per numero crescente ma mette davanti a tutte il pacco (sysinst1)
@ -2189,10 +2195,14 @@ void CampoSetup::OnTimer(wxTimerEvent& WXUNUSED(e))
{
m_pWizard = new CampoWizard(m_pMainFrame);
wxFileName strPath = argv[0];
strPath.SetCwd();
//path del programma setup.exe in esecuzione; serve in seguito in quanto alcuni metodi (tipo la GetAllFiles)..
//..fanno perdere questo path
m_strSetupPath = strPath.GetPath();
if (m_pWizard->Run())
{
wxFileName strPath = argv[0];
strPath.SetCwd();
// 1) RACCOLTA PARAMETRI GENERALI INSTALLAZIONE (tipo,path,cartelle,servers,...)
//------------------------------------------------------------------------------
@ -2222,12 +2232,13 @@ void CampoSetup::OnTimer(wxTimerEvent& WXUNUSED(e))
//copia del contenuto della cartella campo nella cartella di destinazione (installaz/aggiornam)
//per prima cosa cerca la cartella dei files sorgente...
wxArrayString asFilesList;
wxFileName strSourcePath(wxGetCwd(), "*.*");
wxFileName strSourcePath(m_strSetupPath, "*.*");
strSourcePath.AppendDir("..");
strSourcePath.AppendDir(APPNAME);
strSourcePath.MakeAbsolute();
//stringa inutile al programma ma decisiva per il programmatore
const wxString strSrc = strSourcePath.GetPath();
//..contando anche quanti sono e memorizzandoli in un array asFileList
const size_t uFilesToCopy = wxDir::GetAllFiles(strSourcePath.GetPath(), &asFilesList);
const size_t uFilesToCopy = wxDir::GetAllFiles(strSrc, &asFilesList);
//per ogni file da copiare controlla i path sorgente e destinazione(problema con sottodirectory tipo dati)
wxString strFileCurr;
@ -2311,15 +2322,12 @@ void CampoSetup::OnTimer(wxTimerEvent& WXUNUSED(e))
{
//trova la cartella datidemo da copiare
wxArrayString asDataList;
wxFileName strSourcePath(wxGetCwd(), "*.*");
strSourcePath.AppendDir("..");
strSourcePath.AppendDir("datidemo");
strSourcePath.MakeAbsolute();
const wxString strSrc = GetSourceDir("datidemo");
//conta i files da copiare e si lancia nell'operazione di copiatura...
//Vale quanto detto per l'installazione dell'area dati
const size_t uFilesToCopy = wxDir::GetAllFiles(strSourcePath.GetPath(), &asDataList);
const size_t uFilesToCopy = wxDir::GetAllFiles(strSrc, &asDataList);
wxString strFileCurr;
const size_t nPathLenght = strSourcePath.GetPath().Len();
const size_t nPathLenght = strSrc.Len();
wxProgressDialog pi("Installazione Dati Demo...", "", (int)uFilesToCopy, NULL, wxPD_AUTO_HIDE | wxPD_APP_MODAL | wxPD_CAN_ABORT);
for (size_t i = 0; i < uFilesToCopy; i++)
{
@ -2400,10 +2408,8 @@ void CampoSetup::OnTimer(wxTimerEvent& WXUNUSED(e))
CampoInstall.Set("DiskPath", m_pWizard->GetPrgNetPath());
else //e' il path assoluto dell'install.ini che sta in 'program' (es. D:\program)
{
wxFileName strSourcePath(wxGetCwd());
strSourcePath.AppendDir("program");
strSourcePath.MakeAbsolute();
const wxString strSrc = strSourcePath.GetPath();
wxFileName strSourcePath(m_strSetupPath + "/install.ini");
const wxString strSrc = GetSourceDir("program");
CampoInstall.Set("DiskPath", strSrc);
}
}

44
setup/sirio_licenza.htm Executable file
View File

@ -0,0 +1,44 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ACCORDO DI LICENZA SUL SOFTWARE</title>
</head>
<body>
<h4><p align=center>ACCORDO DI LICENZA SUL SOFTWARE</p></h4>
<hr></hr>
<p>Ai termini ed alle condizioni che seguono, Sirio Informatica e Sistemi s.p.a., in forza dei diritti di sfruttamento commerciale, si obbliga e concede in licenza d'uso al Cliente il prodotto di software corredato dalla documentazione d'uso. Pertanto Sirio Informatica e Sistemi s.p.a. (di seguito indicata come Concedente), non vende alcun diritto per il proprio software, e mantiene ogni diritto su tutto il software distribuito.
Il Concedente da una parte ed il Cliente dall'altra, concordano quindi tra loro quanto segue:</p>
<p>L'installazione dei programmi contenuti in questo CD-ROM implica l'accettazione e l'osservanza dei termini specificati in questo accordo di licenza, tranne che per quanto concerne l'applicazione dell'art. 1341 C.C.</p>
<ol>
<li>CONCESSIONE DI LICENZA. A fronte del pagamento del corrispettivo della licenza, compreso nel prezzo di acquisto di questo prodotto, e dell'accordo di osservanza dei termini e delle condizioni di questa licenza, il Concedente, cede all'Acquirente, il Licenziatario, un diritto non esclusivo all'utilizzo ed alla dimostrazione di questa copia di programma software (di seguito chiamato Software) su di un unico computer (dotato cioè di una sola unità centrale) ed in un'unica locazione per tutto il periodo di osservanza dei termini di questo accordo di licenza. Se il computer sul quale viene utilizzato il Software è un sistema multiutente, la licenza è valida per tutti gli utenti di quell'unico computer, senza esborso per ulteriori licenze. Il Concedente si riserva tutti i diritti non espressamente ceduti al Licenziatario.</li>
<li>PROPRIETA' DEL SOFTWARE. Come Licenziatario, l'acquirente è proprietario del supporto magnetico o fisico sul quale il Software è stato originariamente registrato, ma, in base al presente accordo, il Concedente mantiene la proprietà del Software registrato sulla copia (o copie) del CD-ROM originale e di tutte le copie di Software successive, indipendentemente dalla forma o dal supporto in cui vengono fornite le copie originali e quelle successive. La presente licenza non implica la vendita del Software originale o di qualsiasi eventuale copia successiva.</li>
<li>COPIE DI BACKUP. E' espressamente proibito effettuare copie non autorizzate del Software, ivi compreso Software modificato, combinato con altri, o allegato ad altro Software, o della documentazione. Il licenziatario è responsabile a tutti i fini legali per qualunque infrazione causata o incoraggiata dalla non osservanza dei termini di questa licenza.
Sulla base di quanto sopra, e posto che il Software non sia protetto contro la copia, è consentito effettuare una (1) copia del Software a soli scopi di backup.</li>
<li>UTILIZZO DEL SOFTWARE. In qualità di Licenziatario l'acquirente è autorizzato a trasferire fisicamente il Software da un computer all'altro a condizione che il suo utilizzo sia limitato ad un computer per volta. Non è consentito il trasferimento elettronico del Software da un computer all'altro tramite rete di comunicazione dati. È altresì vietata la distribuzione a terzi di copie del Software e della relativa documentazione. Il licenziatario non e' inoltre autorizzato alla modifica, traduzione, adattazione, reingegnerizzazione, decompilazione, disassemblaggio o alla creazione di applicazioni derivate basate sul Software. È altresì' vietato modificare, tradurre, adattare e creare applicazioni derivate basate sulla documentazione senza previo consenso scritto da parte del Concedente.</li>
<li>CESSIONE DEL SOFTWARE. Il Software viene ceduto in licenza unicamente al Licenziatario e non può essere ceduto a terzi senza previo consenso scritto da parte del Concedente. L'utente autorizzato all'utilizzo del Software è tenuto all'osservanza dei termini e delle condizioni espressi in questa licenza e nella garanzia limitata. In nessun caso è consentito cedere, assegnare, offrire in leasing, vendere o disporre in altro modo del Software su base permanente o provvisoria se non nei termini qui espressamente specificati.</li>
<li>DURATA. Il presente contratto resterà in vigore per un periodo di cinque (5) anni dalla data di acquisto riportata sulla ricevuta di acquisto. Alla fine di tale periodo, tale accordo sarà risolto. Questo contratto può anche essere risolto dal Concedente sulla base dell'art. 11 (clausola risolutiva espressa). Alla fine del rapporto, quale che ne sia la causa, tutto il materiale deve essere riconsegnato al Concedente oppure distrutto da parte del Licenziatario.</li>
<li>AGGIORNAMENTI. Il Concedente può produrre, di volta in volta, versioni aggiornate del Software che, a discrezione del Concedente, verranno messe a disposizione del Licenziatario e degli utenti autorizzati.</li>
<li>LEGGE APPLICABILE. La presente licenza e' soggetta alla legge italiana e verrà messa in vigore a beneficio del Concedente, dei suoi assegnatari e successori.</li>
<li>ATTESTAZIONE. Il Licenziatario attesta di aver scelto il Software corrispondente alle proprie necessità, di aver preso visione della relativa documentazione e del presente accordo. Egli riconosce che il presente accordo costituisce la totalità delle intese intercorse.</li>
<li>GARANZIA LIMITATA, MANUTENZIONE, RESPONSABILITA' ED ASSISTENZA. Il Concedente garantisce al Licenziatario originario che il CD-ROM sul quale e' registrato il Software è esente da difetti di materiale e di lavorazione nell'uso e nelle prestazioni normali per un periodo di novanta (90) giorni dalla data di consegna documentata da una copia della ricevuta.
Il Concedente non garantisce che il pacchetto Software funzioni correttamente in tutte le possibili combinazioni hardware/software. E' possibile che il programma non funzioni correttamente con versioni modificate del sistema operativo, con taluni programmi di "spooling" delle stampe o di utilità, o con stampanti fornite da Costruttori indipendenti.
Sebbene il Concedente abbia collaudato il Software e controllato la documentazione, non garantisce espressamente o implicitamente, per quel che riguarda questo Software o la sua documentazione, la loro qualità, le caratteristiche, la commerciabilità e l'utilizzo in particolari applicazioni.
Quindi questo Software e documentazione sono dati in licenza "come tali", e il licenziatario si assume tutti i rischi circa la loro qualità ed esecuzione.
In nessun caso il Concedente sarà responsabile per danni diretti, indiretti, particolari, incidentali o susseguenti, scaturiti dall'uso o dalla non capacita' d'uso del Software o della documentazione, anche se avvertita della possibilità di tali danni. In particolare il Concedente non avrà responsabilità per programmi e dati memorizzati, o utilizzati con suo Software, compresi i costi per il recupero di tali programmi o dati.</li>
<li>CLAUSOLA RISOLUTIVA ESPRESSA. Nel caso di inadempimento da parte del Licenziatario degli obblighi di cui all'art. 3 (divieto di effettuare copie), art. 4 (modi di utilizzo del Software, distribuzione a terzi di copie, traduzione, modifica, reingegnerizzazione, adattazione, decompilazione, disassemblaggio, creazione di applicazioni basate sul Software o sulla documentazione), art. 5 (cessione a terzi, leasing o locazione a terzi, atti di disposizione), il Concedente potrà ritenere automaticamente risolto il presente contratto senza avviso al Licenziatario.</li>
</ol>
</body>
</html>