diff --git a/setup/Setup.cpp b/setup/Setup.cpp index 36fa7799c..239cd41bb 100755 --- a/setup/Setup.cpp +++ b/setup/Setup.cpp @@ -46,27 +46,33 @@ void CampoFrame::OnErase(wxEraseEvent& e) wxRect rect2 = rect; rect2.SetTop(rect.GetBottom() / 2); dc.GradientFillLinear(rect2, c1, c2, wxDOWN); - const int nHeight = rect.GetHeight()/10; - wxFont* pFont = wxTheFontList->FindOrCreateFont(nHeight, wxFONTFAMILY_SWISS, wxFONTSTYLE_ITALIC, - wxFONTWEIGHT_BOLD); + int nHeight = rect.GetHeight()/14; + wxFont* pFont = wxTheFontList->FindOrCreateFont(nHeight, wxFONTFAMILY_SWISS, wxFONTSTYLE_ITALIC, wxFONTWEIGHT_BOLD); dc.SetFont(*pFont); dc.SetBackgroundMode(wxTRANSPARENT); + + int w, h; + dc.GetTextExtent(RESELLER, &w, &h); + while (w > rect.width) + { + nHeight = nHeight * rect.width / w; + pFont = wxTheFontList->FindOrCreateFont(nHeight, wxFONTFAMILY_SWISS, wxFONTSTYLE_ITALIC, wxFONTWEIGHT_BOLD); + dc.SetFont(*pFont); + dc.GetTextExtent(RESELLER, &w, &h); + } + const int k = nHeight / 16 + 1; dc.SetTextForeground(c2); - dc.DrawText(APPNAME, k, k); + dc.DrawText(RESELLER, rect.GetRight()-w-k/2, rect.GetHeight()-h-k/2); dc.SetTextForeground(c1); - dc.DrawText(APPNAME, k/2, k/2); - - int w, h; - const wxString strSetup = wxT("enterprise"); - dc.GetTextExtent(strSetup, &w, &h); + dc.DrawText(RESELLER, rect.GetRight()-w-k, rect.GetHeight()-h-k); dc.SetTextForeground(c2); - dc.DrawText(strSetup, rect.GetRight()-w-k/2, rect.GetHeight()-h-k/2); + dc.DrawText(PRODUCT, k, k); dc.SetTextForeground(c1); - dc.DrawText(strSetup, rect.GetRight()-w-k, rect.GetHeight()-h-k); + dc.DrawText(PRODUCT, k/2, k/2); } CampoFrame::CampoFrame() @@ -251,19 +257,31 @@ bool CampoSetup::CreateIcon(unsigned int csidl, const wxFileName& strExeFile, co //sceglie l'icona da quelle possibili legate al .exe in base al tipo di installazione const InstallationType uInstallationType = m_pWizard->GetInstallationType(); - if (uInstallationType == it_server || uInstallationType == it_client) - { - wxString strPath = m_pWizard->GetPrgLocPath(); - strPath += "/res/"; - switch (uInstallationType) - { - case it_server: strPath += "CampoSrv.ico"; break; - case it_client: strPath += "CampoCln.ico"; break; - default: strPath += "Campo.ico"; break; - } - psl->SetIconLocation(strPath, 0); + //anche l'icona deve essere scelta in base al reseller + wxString strIcon = Icon(); + //path completo del file icona, in modo da legarlo al link sul desktop;comincia con il path di Campo + wxString strPath = m_pWizard->GetPrgLocPath(); + + if (!strIcon.IsEmpty()) + { + strPath += "/setup/"; //se esiste l'icona del reseller sta in setup } + else + { + strPath += "/res/"; //se non trova l'icona del reseller prende quella standard in res + } + + const int nPos = strIcon.Len()-4; + switch (uInstallationType) + { + case it_server: strIcon.insert(nPos, "Srv"); break; + case it_client: strIcon.insert(nPos, "Cln"); break; + default: break; + } + + strPath << strIcon; + psl->SetIconLocation(strPath, 0); // Query IShellLink for the IPersistFile interface for saving the // shortcut in persistent storage. diff --git a/setup/oem.ini b/setup/oem.ini index e27e3354d..a40590844 100755 --- a/setup/oem.ini +++ b/setup/oem.ini @@ -3,25 +3,34 @@ OEM = [OEM_0] Administrator = ’—’Œ +Icon = aga.ico Licence = aga_licenza.htm Logo = aga_logo.jpg -Name = ””’“žfM„ˆŽpÂNŸNu +Name = ””’“ž Password = ²·s°¸´ +Product = ””’“žf·›·¦¿ÀÁ‰ØÓ +Reseller = ’š†c¸´¸œ³´¢”ÒÑÇå›Ó¢Õ‘ Web = www.aga.it/agarel100/ [OEM_1] Administrator = ’—’Œ +Icon = sirio.ico Licence = sirio_licenza.htm Logo = sirio_logo.jpg -Name = ””’“žf·›·¦¿ÀÁ‰ØÓ”’’ÃÛÛÜÔ@–޹ØäÖДÒÑÇ×ÔÝÜׯÎ@æ—ã¢Æ› -Web = www.aga.it/release100/ +Name = ””’“ž Password = ²·s°¸´ +Product = ””’“žf·›·¦¿ÀÁ‰ØÓ +Reseller = ¤¼·¬¾f»›¹ØäÖДÒÑÇ×ÔÝÜׯÎ@æ—ã¢Æ› +Web = www.aga.it/release100/ [OEM_2] Administrator = ’—’Œ +Icon = tetra.ico Licence = tetra_licenza.htm Logo = tetra_logo.jpg -Name = ”¢Œˆ’•…Mpo›Š—¡tci§eÇ€³qÀw +Name = ”¢Œˆ’•… Password = ²·s°¸´ +Product = ”¢Œˆ’•… +Reseller = ¥˜™•‰¦v§eÇ€³qÀw Web = www.aga.it/release100/ diff --git a/setup/tetra.ico b/setup/tetra.ico new file mode 100755 index 000000000..bf68c4d75 Binary files /dev/null and b/setup/tetra.ico differ diff --git a/setup/tetra_licenza.htm b/setup/tetra_licenza.htm new file mode 100755 index 000000000..2d5363dfc --- /dev/null +++ b/setup/tetra_licenza.htm @@ -0,0 +1,44 @@ + + + +
+ACCORDO DI LICENZA SUL SOFTWARE
+Ai termini ed alle condizioni che seguono, Tetractis s.r.l., 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 Tetractis s.r.l. (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:
+ +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.
+Questo programma vi guiderà passo a passo nell'installazione / aggiornamento del software.
"); strBody += wxT("LEGGERE ATTENTAMENTE LE ISTRUZIONI che saranno visualizzate nelle finestre di questo programma di installazione!
"); strBody += wxT("Prima di proseguire con l'installazione / aggiornamento assicurarsi:
"); @@ -256,8 +256,8 @@ CampoWizardPage1::CampoWizardPage1(wxWizard* parent) : CampoWizardPage(parent) strBody += wxT("2) di avere terminato ogni altro programma in funzione
"); strBody += wxT("In caso di aggiornamento assicurarsi inoltre:
"); strBody += wxT("3) di avere effettuato un backup di sicurezza dei dati.
"); - strBody += wxT("4) che il programma APPNAMEFULL NON sia in funzione.
"); - strBody += wxT("5) che l'eventuale gestore dei servizi di APPNAMEFULL, se presente, NON sia in funzione.
"); + strBody += wxT("4) che il programma PRODUCT NON sia in funzione.
"); + strBody += wxT("5) che l'eventuale gestore dei servizi di PRODUCT, se presente, NON sia in funzione.
"); SetHTMLText(strTitle, strBody); } @@ -284,9 +284,8 @@ bool CampoWizardPage2::ForwardValidate() CampoWizardPage2::CampoWizardPage2(wxWizard* parent) : CampoWizardPage(parent) { - wxString strName, strLogo, strWeb, strLicence; - const int nOem = FindProducerInfos(strName, strLogo, strWeb, strLicence); - SetHTMLPage(strLicence); + //nome del file di licenza settato in html e recuperato con apposita mitica funzione + SetHTMLPage(Licence()); //radiobutton Accetta / Rifiuta wxArrayString asAccRef; @@ -353,8 +352,8 @@ bool CampoWizardPage3::ForwardValidate() CampoIniFile InstallIni(strPrgPath + "/install.ini", "Main"); wxString strDiskPath = InstallIni.Get("DiskPath"); wxString strMsg = "Per aggiornare questa stazione di lavoro e' necessario aggiornare prima il Server di "; - strMsg << APPNAMEFULL << " in " << strDiskPath << " !\n"; - strMsg << "Questa stazione di lavoro si aggiornera' automaticamente alla prima esecuzione del programma " << APPNAMEFULL; + strMsg << PRODUCT << " in " << strDiskPath << " !\n"; + strMsg << "Questa stazione di lavoro si aggiornera' automaticamente alla prima esecuzione del programma " << PRODUCT; return ErrorBox(strMsg); } @@ -523,7 +522,7 @@ CampoWizardPage3::CampoWizardPage3(wxWizard* parent) : CampoWizardPage(parent) if (asCampi.IsEmpty()) { strTitle += wxT("Scelta Installazione"); - strBody += wxT("E' possibile INSTALLARE APPNAMEFULL in un nuovo direttorio.
"); + strBody += wxT("E' possibile INSTALLARE PRODUCT in un nuovo direttorio.
"); asCampi.Add("Nuova installazione"); //voce di nuova installazione! m_pRadioBox = new wxRadioBox(this, 301, "Installazione del software", wxDefaultPosition, @@ -533,11 +532,11 @@ CampoWizardPage3::CampoWizardPage3(wxWizard* parent) : CampoWizardPage(parent) else { strTitle += wxT("Scelta Aggiornamento / Installazione"); - strBody += wxT("E' possibile AGGIORNARE (scelta consigliata) una installazione di APPNAMEFULL gia' presente oppure INSTALLARE in un nuovo direttorio.
"); + strBody += wxT("E' possibile AGGIORNARE (scelta consigliata) una installazione di PRODUCT gia' presente oppure INSTALLARE in un nuovo direttorio.
"); strBody += wxT("Selezionare l'opzione desiderata nel riquadro sottostante. In caso di piu' di una installazione presente sul computer "); strBody += wxT("sara' preselezionata la eventuale installazione di tipo Server o Standard, in quanto deve essere aggiornata per prima! "); strBody += wxT("
In questo caso procedere all'aggiornamento di tale installazione Server e aggiornare successivamente le postazioni client "); - strBody += wxT("lanciando il programma APPNAMEFULL su di esse
"); + strBody += wxT("lanciando il programma PRODUCT su di esse"); //radiobutton con le scelte aggiornamento asCampi.Add("Nuova installazione"); @@ -558,7 +557,7 @@ CampoWizardPage3::CampoWizardPage3(wxWizard* parent) : CampoWizardPage(parent) GetSizer()->AddSpacer(16); GetSizer()->Add(chDemoPrg); - strBody += wxT("E' possibile anche installare la versione DEMO di APPNAMEFULL. Questa versione e' a scopo puramente "); + strBody += wxT("
E' possibile anche installare la versione DEMO di PRODUCT. Questa versione e' a scopo puramente "); strBody += wxT("dimostrativo e NON va di norma installata! Non e' utilizzabile come la versione normale in quanto limitata nel "); strBody += wxT("numero e nella data delle registrazioni e nel tempo di uso giornaliero (max 2 ore). La cartella di installazione della "); strBody += wxT("versione dimostrativa e' C:/campodemo e dispone di un'area dati parzialmente precompilata.
"); @@ -657,17 +656,17 @@ bool CampoWizardPage4::TransferDataToWindow() case 1: strBody += wxT("E' stata rilevata una chiave tipo Hardlock:
"); strBody += wxT("Si puo' procedere con l'installazione /aggiornamento del software APPNAMEFULL. Premere il pulsante \"Avanti\".
"); + strBody += wxT("Si puo' procedere con l'installazione /aggiornamento del software PRODUCT. Premere il pulsante \"Avanti\".
"); break; case 2: strBody += wxT("E' stata rilevata una chiave tipo Eutron:
"); strBody += wxT("Si puo' procedere con l'installazione /aggiornamento del software APPNAMEFULL. Premere il pulsante \"Avanti\".
"); + strBody += wxT("Si puo' procedere con l'installazione /aggiornamento del software PRODUCT. Premere il pulsante \"Avanti\".
"); break; case 3: strBody += wxT("E' stato rilevata una chiave remota condivisa in rete con il servizio di gestione autorizzazioni:
"); strBody += wxT("Si puo' procedere con l'installazione /aggiornamento del software APPNAMEFULL. Premere il pulsante \"Avanti\".
"); + strBody += wxT("Si puo' procedere con l'installazione /aggiornamento del software PRODUCT. Premere il pulsante \"Avanti\".
"); Set(404, GetWizard().GetSrvAuth()); break; @@ -832,7 +831,7 @@ CampoWizardPage5::CampoWizardPage5(wxWizard* parent) : CampoWizardPage(parent) strBody = wxT("Standard (scelta consigliata). Installazione su postazione singola, con programmi e dati sul disco locale del computer
"); strBody += wxT("Installazioni di rete (per utenti esperti)
"); strBody += wxT("Server: Computer in rete sul quale sono presenti una copia, utilizzata o meno, dei programmi (server programmi) e l’area dati (server dati). "); - strBody += wxT("In una installazione in rete di APPNAMEFULL e' necessario sia presente un unica postazione di tipo server, "); + strBody += wxT("In una installazione in rete di PRODUCT e' necessario sia presente un unica postazione di tipo server, "); strBody += wxT("e deve essere installata per prima!
"); strBody += wxT("Client: 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!
"); @@ -1084,16 +1083,16 @@ CampoWizardPage7::CampoWizardPage7(wxWizard* parent) : CampoWizardPage(parent) strBody += wxT("Il percorso consigliato e' C:\\APPNAME "); strBody += wxT("Digitare nel campo 'Cartella dati' il percorso completo della cartella dove si desidera installare l'area dati. "); strBody += wxT("Il percorso consigliato e' C:\\APPNAME\\dati
"); - strBody += wxT("Le cartelle del programma e dei dati dovranno essere condivise in modalita' lettura/scrittura agli utenti di sistema e di rete che utilizzeranno il software APPNAMEFULL. "); + strBody += wxT("
Le cartelle del programma e dei dati dovranno essere condivise in modalita' lettura/scrittura agli utenti di sistema e di rete che utilizzeranno il software PRODUCT. "); strBody += wxT("In mancanza di tale condivisione nessun client potra' accedere al server!
"); strBody += wxT("Gestore autorizzazioni: 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 APPNAMEFULL (localhost).
"); - strBody += wxT("Gestore dizionari: e' il software che permette di utilizzare APPNAMEFULL 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 APPNAMEFULL (localhost).
"); + strBody += wxT("Viene di default proposto il computer su cui si sta eseguendo l'installazione di PRODUCT (localhost)."); + strBody += wxT("Gestore dizionari: e' il software che permette di utilizzare PRODUCT 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 PRODUCT (localhost).
"); strBody += wxT("Modalita' di esecuzione programmi di gestione
");
strBody += wxT("Come servizi: 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
");
- strBody += wxT("Nel menu esecuzione automatica: i programmi di gestione vengono eseguiti automaticamente al primo accesso di un utente al server di APPNAMEFULL; usare questa modalita' solo nell'impossibilita' di utilizzare la precedente
Digitare nel campo 'Cartella dati' il percorso completo della cartella dove si desidera installare l'area dati. "); strBody += wxT("Il percorso consigliato e' C:\\APPNAME\\dati
"); - strBody += wxT("Le cartelle del programma e dei dati dovranno essere accessibili in modalita' lettura/scrittura agli utenti di sistema e di rete che utilizzeranno il software APPNAMEFULL. "); - strBody += wxT("In mancanza di tale modalita' nessun utente potra' utilizzare il software APPNAMEFULL !
"); + strBody += wxT("Le cartelle del programma e dei dati dovranno essere accessibili in modalita' lettura/scrittura agli utenti di sistema e di rete che utilizzeranno il software PRODUCT. "); + strBody += wxT("In mancanza di tale modalita' nessun utente potra' utilizzare il software PRODUCT !
"); strBody += wxT("Gestore autorizzazioni: e' il software che permette di gestire una chiave di protezione hardware multiutenza condivisa in rete. "); strBody += wxT("E' necessario installare questo software specificando localhost come computer su cui e' montata la chiave di protezione multiutenza.
"); - strBody += wxT("Gestore dizionari: e' il software che permette di utilizzare APPNAMEFULL in lingue diverse dall'italiano. "); + strBody += wxT("
Gestore dizionari: e' il software che permette di utilizzare PRODUCT in lingue diverse dall'italiano. "); strBody += wxT("E' necessario installare questo software specificando localhost come computer su cui installare il servizio.
"); strBody += wxT("Modalita' di esecuzione programmi di gestione: obbligatorio come servizi!
");
}
@@ -1334,7 +1333,7 @@ CampoWizardPage8::CampoWizardPage8(wxWizard* parent) : CampoWizardPage(parent)
strBody += wxT("
Il campo 'Cartella remota dati da utilizzare' contiene il percorso completo della cartella di rete dove sono i dati. "); strBody += wxT("E' la cartella dei dati condivisa dal server precedentemente installato. Se condivisa e connessa correttamente viene rilevata automaticamente e proposta dal programma. "); strBody += wxT("Se non viene proposta automaticamente, digitare il percorso completo (es. Z:\\APPNAME\\Dati)
"); - strBody += wxT("Gestore dizionari: e' il computer gestore dei dizionari di APPNAMEFULL in lingue diverse dall'italiano. Generalmente e' il computer agente da server di APPNAMEFULL in rete. "); + strBody += wxT("
Gestore dizionari: e' il computer gestore dei dizionari di PRODUCT in lingue diverse dall'italiano. Generalmente e' il computer agente da server di PRODUCT in rete. "); strBody += wxT("Premere il bottone Cerca per attivare la ricerca automatica di tale computer. Qualora tale ricerca fallisse digitare il nome del computer gestore dei dizionari
"); SetHTMLText(strTitle, strBody); @@ -1410,7 +1409,7 @@ bool CampoWizardPage9::TransferDataToWindow() //controlla se il programma di teleassistenza e' gia' installato sul computer e decide se spuntare o meno.. //..il checkbox bool bChkTeleass = false; - if (FindProducer() <= 0) + if (FindReseller() <= 0) { bChkTeleass = true; const wxString strWinProgDir = GetWindowsProgramDirectory(); @@ -1453,11 +1452,11 @@ CampoWizardPage9::CampoWizardPage9(wxWizard* parent) : CampoWizardPage(parent) //..che c'è appena sopra di lui in program wxString strTitle = wxT("Collegamenti e Teleassistenza"); wxString strBody; - strBody += wxT("E' possibile creare l'icona di APPNAMEFULL sul desktop.
"); - if (FindProducer() <= 0) + strBody += wxT("E' possibile creare l'icona di PRODUCT sul desktop.
"); + if (FindReseller() <= 0) { strBody += wxT("E' possibile installare il programma di teleassistenza. E' il software che consente"); - strBody += wxT(" ai tecnici dell'assistenza di controllare il computer su cui si installa APPNAMEFULL in caso di problemi gravi."); + strBody += wxT(" ai tecnici dell'assistenza di controllare il computer su cui si installa PRODUCT in caso di problemi gravi."); strBody += wxT(" Se la casella risulta NON spuntata in automatico il programma di teleassistenza e' gia' presente"); strBody += wxT(" sul computer e non deve essere reinstallato.
"); } @@ -1472,7 +1471,7 @@ CampoWizardPage9::CampoWizardPage9(wxWizard* parent) : CampoWizardPage(parent) wxCheckBox* pTeleass = new wxCheckBox(this, 902, wxT("Installare il programma di teleassistenza")); GetSizer()->Add(pTeleass, 0, wxALL, 0); - if (FindProducer() > 0) + if (FindReseller() > 0) pTeleass->Hide(); //wxCheckBox* pLink = new wxCheckBox(this, 1002, wxT("Associare i file .caz al programma")); @@ -1897,15 +1896,13 @@ CampoWizard::CampoWizard(wxWindow* pParent) _iSrvAutostartMode = lm_none;//autostart dei servers _bDesktopShortcut = false; //creazione link sul desktop - wxString strName, strLogo, strWeb, strLicence; - const int nOem = FindProducerInfos(strName, strLogo, strWeb, strLicence); - + //nome del file di logo recuperato con apposito metodo e caricata immagine wxImage iLogo; - iLogo.LoadFile(strLogo, wxBITMAP_TYPE_ANY); + iLogo.LoadFile(Logo(), wxBITMAP_TYPE_ANY); int nWidth = iLogo.GetWidth(); int nHeight = iLogo.GetHeight(); //se l'immagine è orizzontale frega troppo spazio allora la ruotiamo di soppiatto - if (nWidth > nHeight) + if (nWidth > (2 * nHeight)) { iLogo = iLogo.Rotate90(false); nWidth = iLogo.GetWidth(); @@ -1920,7 +1917,7 @@ CampoWizard::CampoWizard(wxWindow* pParent) iLogo.Rescale(nWidth, nHeight, wxIMAGE_QUALITY_HIGH); } const wxBitmap bitmap(iLogo); - Create(pParent, wxID_ANY, APPNAMEFULL, bitmap); + Create(pParent, wxID_ANY, PRODUCT, bitmap); m_pPage[0] = new CampoWizardPage1(this); //benvenuto con logo m_pPage[1] = new CampoWizardPage2(this); //licenza diff --git a/setup/wxinc.h b/setup/wxinc.h index 2baab584f..b84bcdf16 100755 --- a/setup/wxinc.h +++ b/setup/wxinc.h @@ -34,6 +34,15 @@ #include