2013-08-27 31 views
6

Ho impacchettato la mia app WinForms con la procedura guidata di Edizione Limitata di Installshield di Visual Studio.Installshield La chiave di file specificata non trovata nella tabella File

Quando si installa l'app, viene visualizzato questo errore durante l'installazione.

Error 2715. The specified File key ('myappname.xml_serializa') not found in the File table 

Qualche idea da qualcuno? Sono completamente perso su questo.

+0

Quale versione di Visual Studio? Che tipo di procedura guidata installshield? Ti consiglio di utilizzare lo strumento Orca per esaminare il file MSI che stai utilizzando, ci sono molte esercitazioni online. http://support.microsoft.com/kb/255905 – NGaida

+0

Grazie, lo verificherà. Sto usando VS2012 e l'opzione di default InstallShield predefinita per winforms. –

+0

Non esiste alcuna opzione installshield predefinita per winforms in VS2012. – NGaida

risposta

12

Nella directory del progetto di installazione, aprire il file * .isl e cercare il testo nel messaggio di errore myappname.xml_serializa. Molto probabilmente sarà lì parecchie volte. O rimuovilo o correggi tutte le sue istanze.

+0

Grazie mille per la risposta. Ho aperto il file isl in Visual Studio e ho fatto una ricerca solo per "serializa", ma non c'erano corrispondenze. –

+0

Ha funzionato per me. Grazie. –

4

Ho avuto un problema simile di recente e ho scoperto che non ha trovato la chiave perché non stavo aggiungendo il file .primaryoutput nella sezione Specifica dati applicazione -> File. Controlla se stai aggiungendo tutti i file necessari per la configurazione prima di creare il programma di installazione. Il programma di installazione verrà creato anche se non ha tutti i file, ma non verrà eseguito correttamente.

Spero che questo aiuti

+0

Questo ha funzionato per me quando l'ho combinato con la risposta di stricq sopra: prima rimuovi tutti i riferimenti al componente nel file .isl, quindi aggiungi i file in Visual Studio – Aaroninus

2

La modifica del file * .isl ha risolto il problema. Ho scoperto che avevamo modificato il framework .NET di un progetto e quando abbiamo rimosso l'output del progetto da Installshield utilizzando il prompt non aggiornava questo file, quindi quando abbiamo aggiunto di nuovo l'output ora conteneva due output. OUTPUT e OUTPUT1. Spero che questo aiuti

1

Questo è ciò che ha funzionato per me: il progetto nel mio caso è stato readonly come è stato collegato a TFS. Se lavori offline, assicurati di rendere i file di progetto scrivibili. (Deselezionare Sola lettura a livello di cartella)