Ho trovato questo articolo su MSDN Magazine. E' un
articolo scritto da un certo Bryan Noyes , del maggio 2004, ma
io l'ho trovato solo oggi: ci vuole abilità e capacità anche per questo, no??
A
parte scherzi, evidenzia vantaggi & svantaggi nell'utilizzo di Click
Once
per il deploy delle applicazioni
.NET.
Dice espessamente, tra le altre cose, che le
applicazioni distribuite attraverso Click Once vengono
scaricate ed installate in una cache privata (questo già lo sapevo), allo scopo
di rimanere isolate il più possibile dalle altre applicazioni già
presenti sul PC. Anche queste applicazioni passano prima sotto
il setaccio della CAS
(ci mancherebbe altro!), e quindi
girano in un limitato set di permission. Nell'articolo si menziona il fatto che
è possibile distribuire anche un certificato digitale, il che permetterebbe di
innalzare le permissions in modo automatico. Ovviamente, è anche possibile
allargare questo set agendo su publisher name, oppure assegnando uno strong name
ai nostri assembly e così via. Quest'ultimo metodo è sconsigliabile, perchè lo
strong name serve esclusivamente per il versioning
, e
non per gestire la security. Ecco inoltre un passaggio tratto direttamente
dall'articolo:
"if a program needs to carry out privileged operations that could affect
other applications or data on the target machine, such as performing
unrestricted file access or accessing the registry, then it may not be suitable
for deployment using ClickOnce. Additionally, if an application needs privileged
access to the local machine at install time, then it is definitely not a
candidate for ClickOnce deployment because by design there are no mechanisms in
ClickOnce to add registry entries, install shared assemblies in the Global
Assembly Cache (GAC), install services, and so on."
Mi pare che per applicazioni di una certa importanza,
Click Once debba essere scartata a favore di altri metodi più
solidi. Ad esempio, mi verrebbe da pensare al deploy tramite Click
Once solo in quelle applicazioni che debbano rimanere "leggere" sul
client, nel senso che possono avere una UI complessa e ricca, ma dove gli altri
strati software siano accessibili tramite Web Services o altre tecnologie. In
questo caso, infatti, sul mio PC avrei solamente il mio amico EXE con poche
assembly, il che favorisce anche la velocità e la manutenibilità dell'engine di
Click Once
.
Adesso non ho tempo, ma spero di potermelo leggere con calma, prima o
poi!
powered by IMHO 1.2