Saltar al contenido principal

Primeros pasos: C / C++

Applies to
Windows
MacOS
Linux

Comienza con nuestra biblioteca C / C++ multiplataforma.

La biblioteca C / C++ de Velopack es una biblioteca dinámica precompilada que puedes vincular a tu aplicación para habilitar actualizaciones automáticas e instaladores. Hay una API de C y una de C++ disponibles en Velopack.h, por lo que esta biblioteca es adecuada para aplicaciones C / C++ así como para otros lenguajes de programación que admitan la llamada a funciones C, por ejemplo, p/invoke.

tip

Todas las cadenas de texto (por ejemplo, char* o std::string) deben estar codificadas en UTF-8. En Windows, es posible que necesites convertir wchar_t* y std::wstring a UTF-8 antes de pasarlos a la biblioteca.

1

Descarga el último velopack_libc_{version}.zip desde GitHub Releases e inclúyelo en tu proyecto. Extrae el contenido del archivo zip en un directorio al que puedas hacer referencia en tu proyecto.

2

Añade el directorio include del contenido extraído a tu ruta de inclusión, y agrega el binario adecuado de lib a las opciones de tu enlazador. Encontrarás tanto un directorio lib como uno lib-static en el contenido extraído.

3

Añade VelopackApp a tu punto de entrada (por ejemplo, main() o wmain()) lo antes posible, idealmente como la primera instrucción a ejecutar:

#include "Velopack.h"

int wmain(int argc, wchar_t* argv[], wchar_t* envp[])
{
// This should run as early as possible in the main method.
// Velopack may exit / restart the app at this point.
// See VelopackApp class for more options/configuration.
Velopack::VelopackApp::Build().Run();

// ... your other startup code here
}
4

Velopack ofrece una forma sencilla de buscar actualizaciones y aplicarlas. A continuación se muestra cómo implementar una comprobación básica de actualizaciones dentro de tu aplicación.

También puedes separar los distintos métodos para permitir que tus usuarios controlen cuándo buscar actualizaciones, descargarlas o aplicarlas.

La URL que se pasa a UpdateManager apunta al lugar donde alojas tus actualizaciones (un servidor web, un bucket de S3, GitHub releases, etc.).

#include "Velopack.h"

static void update_app()
{
Velopack::UpdateManager manager("https://the.place/you-host/updates");

auto updInfo = manager.CheckForUpdates();
if (!updInfo.has_value()) {
return; // no updates available
}

// download the update, optionally providing progress callbacks
manager.DownloadUpdates(updInfo.value());

// prepare the Updater in a new process, and wait 60 seconds for this process to exit
manager.WaitExitThenApplyUpdate(updInfo.value());
exit(0); // exit the app to apply the update
}

A diferencia de los SDK de C# y Python, la biblioteca C / C++ no tiene un único asistente de aplicación y reinicio, por lo que debes llamar a WaitExitThenApplyUpdate (que prepara el actualizador y espera a que este proceso finalice) y luego cerrar la aplicación tú mismo mediante exit(0).

5

Compila tu aplicación en un programa usando tu compilador habitual (por ejemplo, msvc, cmake, gcc, etc.) Toma nota del directorio de salida, ya que lo necesitarás para empaquetar tu aplicación.

6

Velopack usa una herramienta de línea de comandos llamada vpk para empaquetar y publicar versiones. Se distribuye como una herramienta global de .NET. Aunque Velopack puede usarse con aplicaciones escritas en varios lenguajes, se requiere el SDK de .NET para instalar y ejecutar vpk. Puedes instalar el SDK de .NET desde la página de descarga de .NET.

Una vez instalado .NET, puedes instalar vpk ejecutando:

dotnet tool install -g vpk
tip

Se recomienda usar la misma versión de vpk que el paquete Velopack referenciado en tu aplicación para garantizar la compatibilidad.

Alternativamente, puedes ejecutar vpk sin instalarlo globalmente usando el comando dnx. Usa la sintaxis @<version> para fijar la versión de la herramienta vpk:

dnx vpk@1.0.0

Reemplaza 1.0.0 con la versión del paquete Velopack que estás usando en tu aplicación.

7

Ahora estás listo para crear una versión de Velopack para tu aplicación.

El --packId puede ser cualquier identificador de aplicación único que desees utilizar. Dado que debe ser único entre todas las aplicaciones, recomendamos incluir el nombre de tu empresa: <CompanyName>.<AppName>.

La opción --mainExe solo es necesaria si el nombre de tu ejecutable es diferente al --packId de tu aplicación.

Consulta la referencia de CLI para obtener más detalles sobre las opciones disponibles.

vpk pack --packId YourAppId --packVersion 1.0.0 --packDir .\publish --mainExe yourMainApp.exe

✅ ¡Listo! Tu aplicación ahora tiene actualizaciones automáticas y un instalador. Puedes subir tu release a tu sitio web, o usar el comando vpk upload para publicarla en el destino que elijas.

También puedes consultar nuestras Aplicaciones de ejemplo para ver ejemplos completos que usan Velopack.