Creazione di un setup di un'applicazione WPF c#

domenica 23 settembre 2012 - 10.00
Tag Elenco Tags  C#  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010

AlessioElia Profilo | Newbie

Salve a tutti e buona domenica,
Mi chiedevo qual'è la strada migliore per creare il setup di un'applicazione?
Leggendo sui forum e guardando qualche tutorial su youtube non sono riuscito a risolvere questa domanda.
In particolare ho provato a seguire un tutorial che utilizzava installshield 2010.
Il mio risultato è stato sotto certi punti di vista positivo: Sono riuscito a creare il file di setup, l'installazione ha funzionato (ha creato la cartella in programmi ecc.)
Il problema è : L'applicazione non funziona :) Nel dettaglio subito dopo aver caricato lo splashscreen va in crash.
I file che ho aggiungo al progetto di setup sono tutti quelli che sono nel folder bin del progetto come faceva nel tutorial (Di cui ora non riesco a recuperare il link).
Mi sono fatto un'idea: Siccome finora ho lavorato in questo modo : Creo le classi, compilo, debug, non è che per poterlo rendere installabile devo creare le librerie e quindi va in crash perchè è come se gli mancassero le "classi"?
Scusate la domanda stupida ma è la prima volta che mi trovo davanti a questo problema!
Saluti,
Alessio.

algraps Profilo | Junior Member

ciao Alessio,
hai per caso il codice o la descrizione dell'errore? Perche' dalla descrizione non si capisce molto bene. Magari non e' un problema di setup ma e' un problema di connessioni. Riesci a dettagliare meglio l'errore?

Grazie
A.G.

AlessioElia Profilo | Newbie

Ciao A.G.
grazie dell'interessamento,
Purtroppo non ho nessun codice o descrizione dell'errore.
Appena lancio l'applicazione installata sulla stessa macchina in cui l'ho sviluppata , subito dopo la schermata iniziale va in crash e compare la finestra d'errore di windows.
Nel progetto del setup le .dll di due librerie esterne che utilizzo.
Purtroppo non so essere più chiaro di cosi
Saluti,
Alessio

algraps Profilo | Junior Member

Prova a loggare magari scrivendo l'eccezione in un file di testo.

Non ho capito questa frase:
>Nel progetto del setup le .dll di due librerie esterne che utilizzo.

Ciao
A.G.

AlessioElia Profilo | Newbie

La chiamata del costruttore sul tipo 'HeadCoach.MainWindow' corrispondente ai vincoli di associazione specificati ha generato un'eccezione.' numero riga '8' e posizione riga '119'.

Questo è il messaggio di errore che mi da!
Ho provato di tutto:
Creare un nuovo progetto e copiarci tutte le classi dentro,
Spostare tutte le immagini nella stessa cartella delle classi (Lo splash screen era lì e quindi pensavo che dovevano stare li anche tutte le altre immagini a meno di un'opportuna impostazione)

Ma niente,
Il risultato è sempre lo stesso.
Ho bisogno di aiuto
Buon inizio di settimana

PS: Scusa con quella frase non completata volevo dire che due librerie che utilizzo le inserisco nella cartella applicazione quando creo il progetto di setup

algraps Profilo | Junior Member

utilizzi per caso uno splashscreen prima di aprire la tua applicazione? E' per caso un'app WPF?
Se si allora prova a togliere la splashscreen e rifai il pacchetto di installazione. La splashscreen qualche volta genera un'eccezione in WPF. Se e' quella poi ti giro il codice per sistemarla.

Ciao
A.G.

AlessioElia Profilo | Newbie

Ciao,
Si utilizzo SplashScreen e si tratta di un'applicazione WPF.
Ora stavo provando a toglierlo e a ricompilare la pubblicazione.
Il problema è che anche togliendo da App.xaml.cs la chiamata dello splash screen questo continua a comparire.
Qualche consiglio su come toglierlo?
Grazie,
Alessio.

algraps Profilo | Junior Member

Allora il problema del tuo errore e' la splashscreen. Non ho ancora capito perche' (sinceramente non ho ancora fatto una ricerca dettagliata per capire il perche') ma qualche volta (e non su tutti i pc) la splash screen manda in crash l'applicazione.
Prova ad eliminare proprio la vista dello splashscreen. Ricompila e fai un setup. (Ecco il link che spiega come rimuoverla http://msdn.microsoft.com/en-us/library/cc656886.aspx)
Dopo aver provato a fare un setup, ecco i link che ho utilizzato per preparare la mia splashscreen :
http://blogs.microsoft.co.il/blogs/janiv/archive/2010/05/23/the-easiest-way-to-add-a-splash-screen-to-your-wpf-application.aspx
http://www.olsonsoft.com/blogs/stefanolson/post/A-better-WPF-splash-screen.aspx

Fammi sapere.
Ciao
A.G.

AlessioElia Profilo | Newbie

Niente da fare Algraps,

Ho tolto lo splashscreen seguendo MSDN, funziona nel senso che non appare più. (Ho selezionato l'immagine ->Escludi dal progetto e poi ho tolto la chiamata da App.xml.cs).
Ho ripubblicato l'app e l'ho installata. Il risultato sembra lo stesso se non che non compare più lo splash screen all'inizio. Sembra perchè in realtà non mi fa fare debug e quindi non so se l'errore è lo stesso.

Ti ringrazio,
A.

algraps Profilo | Junior Member

Hai provato ad inserire un file di log nell'applicazione e hai loggato l''eccezione? Il log chiamalo dallo startup ... e vedi consa di logga adesso.

AlessioElia Profilo | Newbie

Algraps ho messo un bel try catch nei costruttori delle mie finestre e ho scoperto qual'è il mio problema:
Siccome utilizzo dei file per memorizzare dei dati, all'applicazione viene negato l'accesso a questi file.
L'applicazione viene installata in C:\Program Files\MiaCartella e i file sono in questa stessa cartella.
Come mai non ho i permessi? C'è un modo per settarli?
Grazie
A.

algraps Profilo | Junior Member


Ottimo. quindi nn dipende dal setup e dalla splashscreen...

prova ad eseguire l'applicazione con i diritti di amministrazione...

Tasto dx sulla app e clicca su esegui come amministratore.

Fammi sapere
A.G.

AlessioElia Profilo | Newbie

Perfettamente funzionante!

Ovvio che è un inconveniente da risolvere. Però gia è un gran passo sapere che non è un problema legato al setup.

Grazie per l'aiuto!

algraps Profilo | Junior Member


Dovresti abbassare i privilegi di esecuzione di un app sul s.o. Non so se e'' possibile abbassare il livelllo via setup wizard. ma girando su google secondo me si trova qualcosa...

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5