Ho un progetto WPF che sto tentando di pubblicare senza alcuna forma di programma di installazione. Fondamentalmente voglio che il programma sia compilato in una directory con tutti i file necessari accanto, in modo da poter comprimere tutto e distribuire il programma sui client.Pubblicazione di Visual Studio 2013 senza programma di installazione
Idealmente, desidero che tutte le risorse esterne siano compilate nell'EXE.
C'è un modo per farlo? Se vado nella cartella debug/bin, sulla mia workstation, posso eseguire l'EXE, ma se lo faccio zip con la DLL e provo a farlo su un'altra macchina si blocca, probabilmente la mancanza di un file è la mia ipotesi. (se pubblico con l'installer funziona, ma non è adatto a questo progetto).
grazie Steve
modificare: Quando eseguo il programma (che ho copiato dalla directory Bin dopo una build successufull), non succede nulla, solo il messaggio "programma ha smesso di funzionare". Il mio programma utilizza 3 file esterni, un'icona, un'immagine e un font. Ho un riferimento a DLL (WPFtoolkit), ho aggiunto quella DLL a una directory nel mio solution explorer. Tutti i file sono impostati su Risorsa incorporata e "Non copiare". Ho anche aggiunto questo codice al mio programma, sempre lo stesso errore. http://codeblog.larsholm.net/2011/06/embed-dlls-easily-in-a-net-assembly/ la dimensione del mio EXE è corretta, posso vedere che la DLL è stata "aggiunta" ad essa. ancora il programma funziona solo sulla mia workstation :(
edit:
Devo tenere la DLL nei riferimenti La mia ipotesi è no, ma se lo faccio, ottengo un errore quando chiamo la mia:?
using Microsoft.Windows.Controls;
se io non lo chiamo, il programma viene compilato, ma si blocca vedi seguente messaggio di errore:.
Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: sw imperium.exe
Problem Signature 02: 1.0.0.0
Problem Signature 03: 53bdd468
Problem Signature 04: PresentationFramework
Problem Signature 05: 4.0.30319.18408
Problem Signature 06: 52312f13
Problem Signature 07: a19
Problem Signature 08: 46
Problem Signature 09: System.Windows.Markup.XamlParse
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
** Che cosa si intende per * * incidente? Il messaggio di errore effettivo può aiutare a diagnosticare **. Stai cercando di eseguire l'eseguibile direttamente dallo zip? Il computer di destinazione ha impostato il framework .Net corretto? –
Sì, il client ha installato .NET.Quando eseguo il programma, non succede niente, solo il messaggio "il programma ha smesso di funzionare". Il mio programma utilizza 3 file esterni, un'icona, un'immagine e un font. Ho un riferimento a DLL (WPFtoolkit), ho aggiunto quella DLL a una directory nel mio solution explorer. Tutti i file sono impostati su Risorsa incorporata e "Non copiare". Ho anche aggiunto questo codice al mio programma, sempre lo stesso errore. http://codeblog.larsholm.net/2011/06/embed-dlls-easily-in-a-net-assembly/ – user3617652
Avete accesso a un'altra macchina con VS 2013 installato e ambiente simile al client? Proverei a copiare il codice su una macchina diversa con il codice e poi ** allega un debugger mentre provi ad eseguire la build dell'applicazione dalla tua macchina reale **. Quando l'applicazione si interrompe, ti indirizzerebbe alla linea attuale in cui si sta rompendo. – Sandesh