Esiste un equivalente NuGet per la distribuzione di contenuti agli utenti finali?

Ho un’applicazione di ac # e mi preoccupo principalmente di estendere gli aggiornamenti automatici ai client che eseguono il mio software. Questi aggiornamenti possono essere qualsiasi cosa, da una nuova dll / patch al nuovo file di risorse.

So che posso creare un’applicazione ClickOnce per arrivare in qualche modo lì, ma non consente molto controllo come vorrei (ad esempio, voglio essere in grado di “raggruppare” facilmente componenti di terze parti con il mio software o essere in grado di avere l’utente a decidere quali componenti devono essere aggiornati).

Vedo che programmi come NotePad ++ hanno un programma di aggiornamento dedicato, ma spero di riuscire a cavarmela dagli altri invece di far girare il mio updater da zero.

Notepad ++ Plugin Manager

Quali sono le mie opzioni?

    Ce ne sono alcuni diversi da verificare.

    Questo è stato parlato da un po ‘/ per un po’, ma non ho mai sentito notizie se sia effettivamente pronto per essere usato ancora

    https://github.com/Squirrel/Squirrel.Windows

    https://www.nuget.org/packages/NuSelfUpdate/

    https://www.nuget.org/packages/NuGetUpdate/

    Consiglierei questo, perché l’ultima volta che ho aperto un biglietto l’ha indirizzato quasi immediatamente.

    https://www.nuget.org/packages/Sidewinder.Core/

    Nessuno di loro sarà una soluzione al 100% in quanto l’aggiornamento dell’applicazione è una di quelle cose che è difficile generalizzare.

    Per me quello che finisco è una delle due cose

    1) Utilizzare http://www.myget.org per ospitare i miei aggiornamenti e caricare il mio sistema che scarica / riavvia / aggiorna le cose.

    2) Roll my own con un indice componente su AWS S3. L’xml elenca i componenti e punta all’URL per ottenere ogni aggiornamento. Da lì la tua applicazione decide come / quando fermarsi / aggiornarlo / riavviarlo.

    Inoltre, se sto aggiornando l’applicazione principale, generalmente come lo faccio (se l’applicazione è già in esecuzione)

    1. Controlla un aggiornamento.
    2. Se c’è un aggiornamento, scaricalo.
    3. All’avvio dell’applicazione, verificare localmente il file di aggiornamento.
    4. Se esiste, installalo silenziosamente

    Se l’applicazione non è in esecuzione, eseguo un controllo di aggiornamento / download / installazione all’avvio (ma solo quando è fondamentale che le persone eseguano l’ultima assoluta).

    Alla fine, però, nessuno di questi quadri si adatta al 100% ai tuoi bisogni, perché nessuno scenario è lo stesso, si spera che ti ottengano comunque la maggior parte del modo.

    Basandosi sul commento di SLaks.

    Chocolatey è un wrapper su nuget per l’installazione di app, simile a app-get nel mondo Linux. È uno strumento per avvolgere tutti i tipi di installatori.

    Se i tuoi clienti sono felici di eseguire la riga di comando, chocolatey è una buona soluzione per la pubblicazione di app.

    Il programma di installazione di WiX si descrive come “Il più potente set di strumenti disponibili per creare la tua esperienza di installazione di Windows. Libero e Open Source dal 2004!” Quindi, a seconda di quanto sofisticato vuoi andare, potresti voler dare un’occhiata anche a questo.