Newsgroup: it.comp.lang.visual-basic
Titolo: [Visual Basic 2010 EX] Percorso di installazione.

Ciao a tutti.
Mi domandavo dove viene installata la mia applicazione.
Grazie.


In che senso? la installi dove vuoi tu...
 
Se intendevi dire "dove trovo l'eseguibile compilato", allora guarda nelle proprietà del progetto, puoi impostare li il percorso che ti pare (di default è nella sottocartella BIN\)


Ciao.
Io procedo con "pubblica progetto" direttamente da VB e nella creazione guidata mi consente di scegliere solo dove voglio pubblicare i file di installazione. Lanciato il setup, non mi chiede dove voglio installare.
Immagino di stare facendo una figura barbina :(


Credo di aver capito...
Nella sezione "Compilazione" delle proprietà del progetto c'è il campo "Percorso dell'output di compilazione". Se è questo, allora non posso scegliere in fase di installazione il percorso. Andrà quindi in radice di "C".

Ciao Fabrizio Alessandri,

Nessuna figura barbina ;-)
Stai usando click-once e in fase di installazione non ha nessun 
controllo su dove viene installata la tua applicazione.
 
.m
 
-- 
blog @ //
milestone.topics.it
 
 
 

Graz

Mi informo se esistono soluzioni alternative.
Grazie!

Fabrizio Alessandri scriveva il 10/04/2012 :

Il fatto di andare a finire in <user> non è un difetto, comunque.
Sempre che tu voglia che il tuo software possa funzionare su qualunque 
sistema.
Io avrei almeno metà delle mie installazioni che non funzionerebbero, 
se tentassero di installare in un percorso definito.
Vuoi per terminal server, vuoi per policy aziendali, vuoi per i nuovi 
sistemi operativi Microsoft e relative restrizioni...
 
Alberto
 
 

 Alberto
 
Certo.
Grazie Alberto.


Oggi vado a fare l'installazione per prova e... 
Ho un DB sul mio PC di sviluppo. Ovviamente sul PC dove andrà installato devo ridare il collegamento al suddetto, essendo percorsi diversi. Credevo di trovare il file di configurazione XML, ma niente. Ma c'è, o le informazioni del path vengono compilate nell'eseguibile?
Come posso fare?


Ho un file MIAAPPLICAZIONE.exe.xml nella cartella:
C:\Users\fabrizio\AppData\Local\Apps\2.0\5AJLRR6Q.M8A\VE920YB4.VJP\MIAAPPLICAZIONE.exe_a124fe14d8516b51_0001.0000_none_d692e117a7dc8a7f
 
Modificato il percorso, funziona.
Più semplice a MS non gli veniva, eh!?

 Più semplice a MS non gli veniva, eh!?
 
se studiassi quello che usi scopriresti che stai sbagliando approccio, 
click once, non è pensato per fare quello che stai facendo ecco perché 
non è "più semplice".
 
La fuori ci sono una paccata di tool di setup anche gratuiti che fanno 
tutto quello che ti serve.


 Più semplice a MS non gli veniva, eh!?
 
NO! e non ti preoccupare tanto !!!!....che in linux oltre ad avere 
percorsi così profondi dovresti stare attento anche a nomi lunghissimi 
e maiuscole e minuscole!
 
L'idea cmq indipendentemente dal SO è questa:
 
Ogni user ha una sua directory dedicata per le preferenze (audio video 
documenti e quel che vuoi)
Ogni user ha una cartella dedicata per i dati delle applicazioni che fa 
girare
 
Le cose fatte così SONO COMODE se il pc lo usate in più di una persona: 
tipico dei posti di lavoro...un pc 2 turni!..oppure per rendere 
possibile avere un utente con privilegi ridotti e ridotta capacità di 
incasinamento pc: ti rendo disponibile il programma di contabilità e 
skype ma i dati che salvi in locale non stanno in 
c:\pippohaincasinatoilpc\fanculo\prrrr\stocazzo\archiviopratiche.xml
ma dentro il profilo dell'utente "Operatore1"...dove? non gliene deve 
fregare una cippa ad operatore1!
 
Il setup:
Devi. come in tutte le buone pratiche, aver chiaro PRIMA cosa vuoi 
fare!
 
Se vuoi installare il tuo programma in c:\miacartella ci deve essere 
una buona ragione! Una BUONISSIMA RAGIONE!
Perchè in produzione spesso per farlo dovrai avere permessi elevati 
(oramai i tempi di windows 98 son passati! e tutti i windows hanno una 
gestione utente evoluta....a meno di disabilitarla...ma perchè? Perchè 
è tarocco? Perchè è incompetente il cliente?). E dovrai probabilmente 
elevare i permessi anche alla tua applicazione per usare 
c:\miacartella\dbase\pippo.mdb!!!
 
Devi pianificare il fatto che se usi ocx terzi...devi installarli nel 
sistema ospite...e per farlo devi essere admin per lanciare regsvr32
E devi controllare la versione e ricaschi nel dll hell!!!
 
INVECE
tutto dotnet managed.
installo il programma e i dati stanno nel mio appdata...dove anche un 
guest può leggere e scrivere. I dati ovviamente li recupero da codice 
usando al posto di un path assoluto le cartelle speciali
http://msdn.microsoft.com/it-it/library/system.environment.specialfolder.aspx
 
i componenti esterni sono assembly ....
 
 
molto più semplice ed immune da errori (comunque sempre possibili!)
tools?
L'immarcescibile inno setup funziona bene anche con dotNet
 
http://www.jrsoftware.org/isinfo.php
 
 
-- 
----- Italliaaaaa 3227! -----
Italian way to work flexibility
http://www.facebook.com/photo.php?fbid=3008023093650&set=a.3007867849769.136344.1654637325&type=1&theater
 
 
 


A dire il vero ho mi sono documentato per cosa sia concepito il ClickOnce e ne riconosco le funzionalità: aggiornamenti anche selettivi, possibilità di installazione senza privilegi admin, quindi senza modificare l'OS (come Chrome), etc.
Mi riferivo alla difficoltà (per me) di trovare quel semplice file di configurazione, ma dato il tuo commento immagino che la cosa sia voluta.
Mi son intestardito nel voler usare Clickonce, dato che "è già lì", benchè come da te ricordatomi, non è concepito per una installazione desktop tradizionale.
Mauro, prima di disturbare, tento sempre di arrivarci da solo, entro i miei limiti amatoriali.
Ora (da ieri) che ho capito lo spirito del ClickOnce, cercherò un tool free. Se tu ne avessi da consigliarmi, te ne sarei grato.
Grazie del contributo.


Grazie infinite Vodka!

 Grazie del contributo.


 configurazione?
Devo modificare il collegamento al DB, che naturalmente cambia dal PC di sviluppo, a quello di installazione. Se hai qualche consiglio da darmi, te ne sarei grato.
Grazie ancora.

Ho appena provato "Innosetup" e mi pare davvero ottimo!
Devo ammettere però che le prerogative del ClickOnce mi piacciono, quindi è probabile che userò quello.
Grazie ragazzi ;-)

 Grazie ancora.
 
se è una cosa che puoi far fare all'utente al primo avvio, potresti:
 
- definire nei settings dell'applicazione un settaggio a livello "user" 
chiamato: dataConnectionString;
 
- cambiare il codice che recupera la connection string dal filw 
app.config per usare il nuovo settaggio;
 
- prima di fare il deploy/publish svuoti il valore di 
dataConnectionString (ci sono dei modi per automatizzare questa cosa 
volendo)
 
- al primo avvio dell'applicazione (quindi se dataConnectionString è 
vuota) visualizzi all'utente la maschera delle impostazioni in cui gli 
chiedi di definire la connection string;
 
- salvi i settings che, essendo a livello utente, sono read/write;
 
Dalla volta successiva sei a cavallo.


 chiedi di definire la connection string;
Scusate se mi intrometto, ma questa è una cosa che interessa molto anche 
a me.
NOn sapevo di questa possibilità che hai descritto, e per fare la stessa 
cosa ho fatto un giro molto più complesso.
Mi puoi dare qualche indicazione in più su come si fa per "visualizzare 
all'utente la maschera delle impostazioni" ? Non ricordo di aver letto 
niente del genere sulla documentazione e sulle varie guide che ho studiato.
 
grazie, ciao
Mauro

 del genere sulla documentazione e sulle varie guide che ho studiato.
 
tutto il giro dei settings a livello user è roba built-in di Visual 
Studio/.Net la maschera delle "impostazioni" invece è roba tua della 
tua applicazione, nulla di trascendentale.



Ancora una volta, grazie Mauro ;-)