Friday, 20. April 2007, 22:44:52
Siamo in un'epoca nuova: dopo anni di rinunce e tentativi, finalmente mamma Microsft è uscita con una nuova versione di Windows e una nuova versione di Office, i suoi grandi cavalli da battaglia.
Il problema con le nuove versioni di un software come un sistema operativo sono chiare: se non si mantiene un'adeguata compatibilità verso all'indietro, a un programmatore/team di sviluppo tocca modificare il proprio progetto, magari per poter differenziare gli installer (o tutto l'applicativo!) per lavorare correttamente anche con la nuova versione...
La speranza è sempre che chi rilascia la nuova versione con cui ti devi andare a cozzare:
- Sia abbastanza furbo da fornirti lui degli strumenti per fare uno switch il meno doloroso possibile
- Abbia ascoltato un minimo le richieste che son giunte e rigiunte...
A casa Microsoft non sembra andare per niente così, proprio per niente. E qui non parlo dei problemi di compatibilità con Vista ma con Office 2007.
Tenere da conto prima di tutto
questo The VSTO 2005 SE runtime also assures that the applications you’ve built on Office 2003 with VSTO 2005 continue to run with the 2007 Office system. This means that any development that you do against Office 2003 will continue to work as you upgrade to the 2007 Office system. Because we recognize that many developers and ISVs build for multiple platform environments, the new application-level add-in functionality will be offered down-level for Office 2003 as a part of VSTO 2005 SE.
Questa era la bellissima pubblicità offerta da VSTO Second Edition: vai tranquillo, utilizza questo e il tuo plugin VSTO per Office 2003, funzionerà senza problemi anche in Office 2007.
Visto che poi non riuscivo ad aprire la solution con VSTO normale, la pubblicità sembrava buona...e quindi son passato a VSTO SE.
Ho provato a cercare fra i miei vecchi post se avevo scritto qualcosa a proposito di uno (dei tanti) problemi di realizzazione del setup, ma non mi sembra...strano!.
Già con le prime versioni del plugin, anche prima di VSTO, mi si era presentato il problema di riuscire a permettere l'installazione anche a persone con un Limited User Account (ovvero utenti _seri_: solo gli admin possono installare ecc..., gli utenti normali no!): infatti i registri di default per un setup di un addin sono in HKEY_CURRENT_USER: questo significa che un add-in veniva installato SOLO da un admin, e i poveri user ciccia.
La soluzione è sempre esistita: si spostano i registri nello stesso ramo di KEY_LOCAL_MACHINE: in questo modo, in maniera automatica, quando un admin installa l'add-in della macchina, veniva caricato normalmente da un utente senza diritti da amministratore.
Vi era un unico difetto, che piaceva poco: l'add-in non risultava più nella lista dei COM Add-ins di Outlook, proprio per lo scambio della chiavi. Forse può sembrare una sciocchezzuola, ma già vedere il plugin lì dentro indicava che: OK, non carica ma lo vede...vediamo di risolvere il problema! Non vedendolo, alcuni utenti mi misero in dubbio che non funzionava...
Sta di fatto che passando alla SE, mi son dimenticato di spostare i registri e quindi son fioccate le richieste: "Qua che son LUA non funziona, come faccio?"...prima di spostare i registri, mi son messo a guardare se qualcosa fosse migliorato (povero stolto!)
Questo problema era stato segnalato da tempo anche sul forum VSTO, e credo che in molti stessero aspettando una soluzione che fosse migliore (alcuni suppongono che potrebbe essere risolto per la terza versione di VSTO...)...peccato che però, nel frattempo, con Office 2007 le strade hanno preso una strada
veramente brutta per i piccoli programmatori.
Office 2007 infatti, per motivi che si possono leggere nell'intervento di Andrew
in questo topic , Office 2007 caricherà solo add-in che hanno i registri corretti, cioè in HKCU.
Questo proprio per evitare che un utente comune possa decidere di disabilitare/installare ecc...
Ma come fare per i LUA quindi? La soluzione è descritta qui:
The preferred mechanism is to install the Add-in into HKCU; Group Policy can push your MSI down for every individual in an enterprise-scale solution regardless of system, and the question of whether you should force every user on a given machine to run your add-in comes into play on the smaller scale -- particularly given that they won't necessarily have the ability to uninstall the add-in.
Group Policy, che suppongo si riferisca a
questo...
E quindi, come vuole fare un utente di Windows XP, che ha un utente LUA (o una serie di utenti LUA) e un solo utente admin (il root, Microsoft, il root!!) ad installare l'add-in con Office 2007?
Mi sa che si attacca al tram...adesso dopo altri n-mila messaggi, spero di ricevere una risposta/soluzione decente...almeno una spiegazione se si può utilizzare localmente su una sola macchina! (Ma dopo un anno, 4 guide su come realizzare il corretto deployment di un add-in, non potevano dirle subito queste cose)
Qualcuno potrebbe poi dire: ma magari era uno strumento pensato proprio per le aziende...
Stronzate! Io l'ho installato la prima versione da un install cd dell'Imagine Cup, e VSTO SE è LIBERAMENTE SCARICABILE!
Perchè dare false speranze ai piccoli programmatori e utenti?