Qual è il modo più semplice per installare centinaia di file in un progetto di installazione di Visual Studio
-
20-08-2019 - |
Domanda
Ho un'applicazione c # standard che funge da front-end della GUI per un " R " motore statistico. & Quot; quot R &; è composto da circa 600 file in circa 50 cartelle diverse e può essere " installato " su una macchina tramite distribuzione xcopy.
Vorrei impacchettare sia il motore R sia la mia c # gui in un setup.exe in modo che l'utente non debba andare prima a installare R e poi la mia applicazione c # separatamente.
So che posso produrre un progetto di installazione e quindi aggiungere i file R uno per uno, ma l'aggiunta di tutti i 600 file sarà molto noiosa!
Esiste un modo più semplice di fare ciò che voglio? Posso aggiungere la singola cartella R e aggiungere automaticamente le sottocartelle e i file per salvarmi aggiungendoli uno per uno? O forse eseguire una procedura di decompressione nel mio progetto di installazione che decomprimerà il motore R in una volta sola?
Soluzione 4
Non sono riuscito a elaborare il file di progetto, quindi quello che ho fatto alla fine è stato comprimere tutti i file che volevo distribuire, aggiungere il file zip all'applicazione e creare una classe di installazione personalizzata per decomprimerli (usando CSharp ziplib)
Altri suggerimenti
Puoi semplicemente trascinare / rilasciare la cartella in Esplora risorse nella vista File System del tuo programma di installazione vdproj. Tutti i file e le cartelle nella gerarchia verranno aggiunti al progetto di installazione.
Suggerimento: se le cartelle si trovano in SVN o un controllo del codice sorgente simile, eliminare tutte le cartelle nascoste prima di farlo! Se hai PowerShell, controlla
get-childitem . -include _svn -force -recurse | foreach ($_) {remove-item -recurse -force $_.fullname}
Oppure puoi sempre utilizzare Ricerca di Windows per trovare tutte le directory nascoste nella gerarchia ed eliminarle dalla finestra dei risultati.
Penso che Badjer sia in gran parte lì.
Se i tuoi 600 file fanno parte di un progetto e il " Crea azione " per ognuno di questi è impostato come contenuto è possibile aggiungere tutti questi semplicemente:
- Andare al progetto di installazione
- Selezionando Aggiungi > Output del progetto
- Selezionando il progetto a cui appartengono i file dal menu a discesa
- Selezione dell'opzione &; File di contenuto " opzione dall'elenco seguente
- Facendo clic su OK.
Puoi controllare che i file vengano aggiunti nella posizione appropriata andando su Visualizza > File system sul progetto di installazione e verifica che l'output dei file di contenuto venga aggiunto alla cartella corretta.
I file verranno aggiunti alla directory di installazione nella stessa gerarchia specificata nel progetto a cui appartengono.
Dai un'occhiata al file di progetto. Credo che sia basato sul testo. Potresti essere in grado di inserire i percorsi dei file direttamente lì con alcuni copia-incolla-sostituisci.
Una cosa che potresti provare è l'aggiunta dei file R come contenuto nel progetto C # - quindi il progetto di installazione può semplicemente copiarli per te (assicurati di configurare il file di installazione per copiare i file di contenuto dal tuo progetto, non solo il uscita primaria).
Puoi aggiungere manualmente le cartelle R nel progetto o impostare uno script per modificare il file .csproj (è solo un file XML) - gli elementi di contenuto sono rappresentati da questi nodi:
<Content Include="myfile" />