Documentación de Velneo
23
23
  • Introducción
  • Velneo 23
    • ¿Qué es velneo?
    • Requerimientos de Velneo
    • Funcionalidades comunes a los componentes de Velneo
      • Instalación
      • Conexión con Velneo vServer
      • Cambiar el estilo de visualización
      • Ver u ocultar barras de herramientas
      • Mensajería interna entre usuarios
      • Soporte de alta resolución (HighDPI)
      • Carpetas de trabajo de los componentes de Velneo
      • Numeración de versiones de Velneo
      • Certificado de firma digital para componentes de Windows
    • Tipos de archivo generados por Velneo
  • Velneo vDevelop
    • ¿Qué es Velneo vDevelop?
    • Interfaz de Velneo vDevelop
    • Lista de teclas aceleradoras de Velneo vDevelop
    • Soluciones y proyectos
    • Control y edición de proyectos
    • Herencia
    • Inspectores
    • Proyectos objetos y editores
      • Objeto
      • De proyecto de datos
        • Indice complejo
        • Tabla
          • Actualización
          • Campo
          • Enlace
          • Indice
          • Plural
          • Traspaso de campo
          • Trigger
        • Tabla estática
        • Variable
      • De proyecto de aplicación
        • Acción
        • Alternador de lista
        • Arbol visor de tablas
        • Bloc de formularios
        • Casillero
        • Cesta
        • ComboView
        • Control SVG
        • Dispositivo serie
        • Formulario
          • Controles de visualización
            • Texto estático
            • Nombre de campo
            • Visor HTML
            • Dibujo
            • Imagen SVG
            • Caja de grupo
            • Menú arbolado
            • Barra de progreso
            • Reloj
            • Manómetro
            • Termómetro
          • Controles de edición
            • Caja de texto
            • Caja de texto enriquecido
            • Data catcher edit
            • Edición alfabética
            • Edición fecha
            • Edición fecha/hora
            • Edición fórmula
            • Edición hora
            • Edición numérica
            • Edición senda fichero
            • Edición senda directorio
          • Controles de entrada
            • Botón
            • Botón de check
            • Botón de radio
            • Calendario
            • ComboBox
            • Deslizador
            • Dial
            • ListBox
            • Rueda
          • Contenedores
            • Área de scroll
            • Caja de formularios
            • Pila de formularios
            • Separador de formularios
            • Splitter
            • Vista de datos
          • Layout
          • Tree widget
          • Controles SVG
          • Fichas de extensión
        • Formulario QML
        • Gráfico
        • Imagen SVG
        • Impresora lógica
        • Informe
          • Agrupamiento
          • Sección
          • Editor de informes
          • Cálculo
        • Informe personalizable
          • Diseñando un informe personalizable básico
          • Diseño avanzado
          • Diseñando un informe personalizable
          • Añadiendo orígenes de datos
          • Añadiendo elementos al informe
          • Características avanzadas
          • Etiquetas
          • Asistente de scripts
          • Impresión de gráficos
        • ListView
        • Lista QML
        • Localizador
        • Lupa
        • Marco
        • Menú
        • Multivista
        • Protocolo TCP-IP
        • Rejilla
          • Propiedades de columna
        • Rejilla avanzada
        • Toolbar
        • ViewFlow
        • Sub-objetos de vistas de datos
          • Conexión de evento
          • Drop
          • Inserción
          • Manejador de evento
      • Comunes a proyecto de datos y de aplicación
        • Búsqueda
        • Cola
        • Constante
        • Dibujo
        • Esquema de tablas
        • Fichero adjunto
        • Función
        • Librería externa
        • Proceso
          • Comandos de base de datos
            • API
            • Bases de datos externas
            • Búsquedas
            • Campos (grupo de comandos)
            • Cestas
            • Fichas
            • Fichas seleccionadas
            • Listas
            • Tablas
            • Tubos
          • Básicos
            • Controles de flujo
            • Debug
            • Ejecución
            • Salida/retornos
            • Scripts (grupo de comandos)
            • Transacciones (comandos)
            • Variables
          • Comunicación
            • Internet
            • Protocolo TCP
            • Puerto serie
            • SDV
          • Interfaz
            • Acciones (comandos)
            • Control
            • Diálogos
            • Formularios - comandos
            • Localizadores
            • Objeto - grupo de comandos
            • Ventana principal
            • Vista de datos - comandos
          • Sistema
            • Comandos de Sistema
            • Configuración
            • Directorios
            • Ficheros
        • Tubo de ficha
        • Tubo de lista
        • Variable local
      • Editores
        • Asistente de fórmulas
          • Operadores
          • Funciones estándar
            • Funciones API
            • Funciones básicas
            • Funciones de cadenas
              • Expresiones regulares
            • Funciones científicas
            • Funciones de Cliente-servidor
            • Funciones de color
            • Funciones de códigos
            • Funciones de directorios
            • Funciones de fechas
            • Funciones de ficha en curso
            • Funciones de horas
            • Funciones de Internet
            • Funciones de juegos de caracteres
              • Codecs
            • Funciones numéricas
            • Funciones de sistema
            • Funciones de tiempo
            • Funciones trigonométricas
          • Funciones de dll
          • Funciones de proceso
          • Campos
          • Constantes
          • Variables globales
          • Variables locales
          • Variables del sistema
          • Verificador de fórmulas
          • Conversión automática de datos
          • Introducción de datos literales
          • Secuencias de escape en cadenas de caracteres
          • Funciones de campo
        • Editor de imágenes
        • Selector de fuentes
    • Scripts
      • Lenguajes
        • JavaScript
          • Procesos JavaScript
          • Fórmulas JavaScript
          • Clases
            • Funciones globales
            • Objetos
            • VAbstractBrowser
            • VAbstractDataView
            • VAbstractListDataView
            • VAdvandedGridListDataView
            • VAlternatorListDataView
            • VApp
            • VBoundFieldComboBox
            • VBoundFieldEdit
            • VBoundFieldEditBrowser
            • VBoundFieldListBox
            • VByteArray
            • VCheckBox
            • VClockWidget
            • VComboBox
            • VComboListDataView
            • VCoverFlowListDataView
            • VCWebView
            • VDataCatcherEdit
            • VDataCatcherEditBrowser
            • VDataViewDialog
            • VDateEdit
            • VDateEditBrowser
            • VDateTimeEdit
            • VDateTimeEditBrowser
            • VDial
            • VDir
            • VExtension
            • VFile
            • VFileInfo
            • VFilePathEditBrowser
            • VFinder
            • VFont
            • VFormBlockListDataView
            • VFormDataView
            • VFormulaEditBrowser
            • VGaugeWidget
            • VGridListDataView
            • VGroupBox
            • VImage
            • VImageEdit
            • VImageWidget
            • VInstancesList
            • VInstance
            • VInstances
            • VItemRegisterPattern
            • VLabel
            • VLineEdit
            • VLineEditBrowser
            • VListBox
            • VListDataView
            • VLogin
            • VMainWindow
            • VMdiView
            • VMultiDataView
            • VNumberSpinBox
            • VNumberSpinBoxBrowser
            • VObjectInfo
            • VObjectInstance
            • VProcess
            • VProgressBar
            • VProjectInfo
            • VPushButton
            • VQmlFormDataView
            • VQmlListDataView
            • VQmlListModel
            • VQuery
            • VRadioButton
            • VRegister
            • VRegisterList
            • VReportListDataView
            • VRequest
            • VResponse
            • VRoot
            • VScreen
            • VScrollArea
            • VServerAdmin
            • VSettings
            • VSlider
            • VSlotListDataView
            • VSolutionInfo
            • VSplitter
            • VSqlDatabase
            • VSSLCertificate
            • VSSLInfo
            • VSSLSessionCipher
            • VStackedWidget
            • VSvgButton
            • VSvgSlideSwitch
            • VSvgToggleSwitch
            • VSvgWidget
            • VSysInfo
            • VTableInfo
            • VTabWidget
            • VTextEdit
            • VTextFile
            • VThermometerWidget
            • VThumbWheel
            • VTimeEdit
            • VTimeEditBrowser
            • VToolBox
            • VTreeItem
            • VTreeItemRegister
            • VTreeListDataView
            • VTreeMenu
            • VTreeMultiTableListDataView
            • VTreeWidget
            • VUser
            • VUserGroup
            • VUserGroupList
            • VUserList
            • VXmlReader
            • VXmlWriter
            • Widget
            • XMLHttpRequest
        • QML
          • Tipos QML
          • Funciones específicas de QML
    • Depuración
      • Depuración de procesos de Velneo
      • Depuración de procesos JavaScript
      • Monitor de vClient
    • Extensiones de Velneo vDevelop
    • Acceso directo a una solución desde vDevelop
    • Buenas prácticas
      • Buenas prácticas de organización
        • Proyectos
        • Organización de carpetas
        • Proyecto de datos
        • Proyecto de aplicación
      • Buenas prácticas de codificación
        • Identificadores
        • Documenta
        • Diseña los formularios como si no existiesen los layouts
      • Buenas prácticas de rendimiento
        • Arquitectura
          • Listas de registros
          • Lista de resultados de una búsqueda
          • Las cestas
          • Las variables globales
          • La caché de fichas
          • Programa en cloud
        • Base de datos
          • Campos
          • Indices
          • Actualizaciones
          • Eventos de tabla o triggers
          • Variables globales y constantes
          • Tablas en memoria vs tablas en disco
          • Optimizar migraciones de datos
          • Búsquedas en el servidor ¿Cuándo y Cómo?
          • Campos fórmula vs campos en disco
          • Indices condicionados vs búsquedas complejas
          • ¿Cuándo usar tablas de extensión?
          • Indices de trozos y palabras
          • ¿Cuándo usar cada tipo de campo alfa?
        • Formularios
          • Condiciones de visible y activo
          • Carga de subformularios en pestaña, caja o pila
        • Procesos y funciones y eventos
          • 1º, 2º, 3º y 4º plano ¿Cuándo usar cada uno?
          • Bloqueo blando vs bloqueo duro
          • Pasar información del cliente al servidor
          • ¿Cómo optimizar transacciones grandes?
          • ¿Cómo gestionar las transacciones?
          • Grabaciones optimizadas para el usuario
        • Carga de registros en objetos de lista
          • Rejillas
            • Campos punteros a singular
            • Totales
            • Condiciones de activo, visible y color en columna
            • Campos de tipo objeto
        • Conoce los límites
      • Imágenes
      • Buenas prácticas para el desarrollo en equipo
  • Velneo vAdmin
    • ¿Qué es Velneo vAdmin?
    • Gestión de usuarios
    • Gestión de aplicaciones
      • Soluciones
      • Instancias
      • Disco
    • Monitorización
      • Lista de comandos
    • Tareas
    • Acceso directo
  • Velneo vClient
    • ¿Qué es Velneo vClient?
    • Movilidad
    • Funcionalidades de Velneo vClient
      • Accesos directos y VRL
      • Cambiar idioma
      • Panel de procesos en 2º plano
      • Manejo de rejillas
      • Uso de la rejilla avanzada
      • Manejo de cestas
      • Refrescos
      • Caché local
      • Edición de campos enlazados a maestro
      • Asignar impresoras lógicas
      • Actualización automática
      • Personalización de la ventana de conexión de Velneo vClient
      • Instalador personalizado de Velneo vClient
      • Ordenación de listas
      • Captura de imágenes desde cámara
  • Velneo vServer
    • ¿Qué es Velneo vServer?
    • Instalación y configuración
      • Activación de la licencia
      • Línea de comandos de Velneo vServer
      • Parámetros configurables de Velneo vServer
      • Estructura de directorios
    • Iniciar Velneo vServer
    • Funcionalidades
      • Protocolo VATP
      • Protocolo VATPS
      • Refrescos terciarios
      • Sistema transaccional
      • Sistema de bloqueos
      • Tecnología bigkey
      • Hilo de control
      • Cómputo del consumo de puestos
    • vPacker
  • Velneo vInstallBuilder
    • ¿Qué es Velneo vInstallBuilder?
    • Configurar una instalación
    • Probar una instalación
    • Crear el instalable
    • Accesos directos
  • Velneo vModApache
    • ¿Qué es Velneo vModApache?
    • Instalación y configuración
    • Nomenclatura de objetos en urls
    • Uso de ficheros adjuntos
  • Velneo vDataClient
    • ¿Qué es Velneo vDataClient?
    • Iniciar Velneo vDataClient
    • Interfaz de Velneo vDataClient
    • Procesos
    • Utilidades
    • Acceso directo a una instancia de datos
  • Velneo vTranslator
    • ¿Qué es Velneo vTranslator?
    • Importación y exportación basada en XLIFF
    • Acceso directo a una solución
  • Velneo ODBC Driver
    • ¿Qué es velneo ODBC Driver?
    • Referencia de comandos SQL
  • Velneo vVersion
    • ¿Qué es Velneo vVersion?
  • Velneo vERP
    • ¿Qué es Velneo vERP?
    • Manual del programador
    • Documentación del ApiRest
    • Novedades de la versión 23
  • Velneo vTutor
    • ¿Qué es vTutor?
    • Tutores de objetos básicos
      • Tutor de marcos
      • Tutor de formularios
      • Tutor de rejillas
      • Tutor de árboles visores de tablas arboladas
      • Tutor de búsquedas
      • Tutor de informes
      • Tutor de cestas
      • Tutor de localizador básico
    • Tutores de objetos avanzados
      • Tutor de alternadores de lista
      • Tutor de impresión de informes
      • Tutor de tubos de ficha y de lista
      • Tutor de grabación de fichas
      • Tutor de comboview
      • Tutor de eventos
      • Tutor de drag and drop
      • Tutor de TCP/IP
      • Tutor de gráficos
    • Tutores de controles
      • Tutor de botones de menú
      • Tutor de controles SVG
      • Tutor de edición numérica
      • Tutor de vistas de datos de lista
      • Tutor de visor html dinámico
    • Tutores de procesos y manejadores de evento avanzados
      • Tutor de procesos
      • Tutor de importación y exportación de ficheros ASCII
      • Tutor de comandos de interfaz y acciones
    • Tutores de scripts
      • QML: hola mundo
      • QML: tutorial básico
      • QML: tutor de vistas
      • Tutor de XMLHttpRequest (webServices)
  • Velneo cloud
    • ¿Qué es Velneo Cloud?
    • Copias de seguridad
    • Velneo cloud API
      • Uso de Velneo cloud API
    • Explorador de archivos cloud sFTP
    • TCP en Velneo cloud
    • Velneo vModApache en cloud
    • SLA
Con tecnología de GitBook
En esta página
  • Crear nuevo instalador
  • Nueva versión
  • Eliminar seleccionados
  • Formulario nuevo instalador
  • Nombre único del instalador
  • Plataforma
  • Nombre del producto
  • Versión
  • Nombre de la empresa
  • Web de la empresa
  • Host de la Vrl de conexión
  • Usuario de la vrl de conexión
  • Password de la vrl de conexión
  • Licencia del producto
  • Icono
  • Logo
  • Color principal
  • Firma de aplicaciones Android
  • ¿Puedo usar mi propia firma?
  • Cómo distribuir aplicaciones Android
  • Firma de aplicaciones Windows
  • Cómo distribuir aplicaciones Windows

¿Te fue útil?

  1. Velneo vClient
  2. Funcionalidades de Velneo vClient

Instalador personalizado de Velneo vClient

Última actualización hace 4 años

¿Te fue útil?

Velneo ofrece un servicio de generación de un Velneo vClient Personalizado para Windows (64 bits) y Android.

Mediante un formulario de solicitud web se indican los textos e imágenes que se usarán y tras las solicitud se recibirá en un correo la descarga del instalador personalizado.

Para acceder al servicio, puedes seguir el enlace siguiente:

Nota

Para usar este servicio, debes disponer de un Velneo vServer Cloud. Te recomendamos uses el de la cuenta asociada a tu suscripción.

En esta página tenemos todos nuestros instaladores creados y contaremos con las siguientes opciones:

Crear nuevo instalador

Si queremos crear un nuevo instalador pulsamos esta opción y nos mostrará un formulario con la información necesaria. Ver el punto .

Toda la información necesaria para generar los instaladores se guarda en el directorio del Velneo vServer en Cloud asociado al email logueado (directorio $HOME/installers). De hecho, una vez generados los binarios instaladores (.exe en el caso de windows y .apk en el caso de Android) podrás encontrarlos también en esa carpeta (organizadas por nombreInstalador/Version).

Aviso

Nueva versión

Si ya disponemos de un instalador creado y lo que queremos es generar una nueva versión, usaremos esta opción.

Nos preguntará si queremos duplicar la última versión disponible de este instalador o crearla desde cero. En el primer caso en el siguiente formulario nos solicitará únicamente la nueva versión. En el segundo caso nos mostrará el punto .

Eliminar seleccionados

Desde esta opción podemos eliminar definitivamente (tanto la configuración como los binarios creados en nuestro $HOME de Velneo Cloud) de nuestra lista de instaladores. Este paso es irreversible, así que úsalo con cuidado.

Formulario nuevo instalador

Si pulsamos la opción Crear nuevo Instalador, debemos cumplimentar la información siguiente:

Nombre único del instalador

Es el nombre del instalador que estamos creando y debe tener el formato conocido como DNS inversa, por ejemplo, com.tuweb.app.

Importante

Este dato es obligatorio.

Plataforma

Aquí puedes seleccionar si quieres crear el instalador para Windows 64, Android o ambos.

Este dato es obligatorio.

Nombre del producto

Nombre de nuestra aplicación. Este nombre será mostrado en distintas pantallas del asistente de instalación. Este dato es obligatorio.

Versión

La versión que va a tener este instalador. Debe tener el formato XX.XX.XX (el último grupo es opcional) y debe ser distinta y mayor que el resto de versiones de este instalador.

Importante

Si vas a crear el instalador para Android, este dato junto con el Nombre único del instalador es el que usará Google para saber si esta versión es algo nuevo o una actualización a una versión anterior ya publicada/instalada.

Este dato es obligatorio.

Nombre de la empresa

Nombre de nuestra empresa. Se mostrará durante en asistente de instalación. Este campo es obligatorio.

Este dato es obligatorio.

Web de la empresa

Si queremos que en el asistente del instalador que se genera se muestre nuestra página web, podremos indicarla aquí.

Este dato es opcional.

Host de la Vrl de conexión

Si queremos que el vClient se conecte con una vrl concreta, la indicaremos en este parámetro. En caso contrario, lo dejaremos vacío.

Usuario de la vrl de conexión

Si queremos forzar un nombre de usuario concreto, lo indicaremos en este parámetro. En caso contrario, lo dejaremos vacío.

Password de la vrl de conexión

Si queremos crear un acceso directo para un usuario concreto, y que no tenga que especificar contraseña, entonces deberíamos especificar éste y los dos parámetros anteriores. En caso contrario, también lo dejaremos vacío.

Licencia del producto

Sólo para Windows.

En este parámetro escribiremos el texto que tengamos de la licencia de uso del producto. Ha de ser un texto plano. Busca por internet cualquier texto estándar de licencia de uso de software y pega allí su contenido.

Este parámetro es obligatorio.

Icono

Icono del instalador. Se recomienda usar una imagen de tipo png de 512x512 píxels y que no supere los 512 Kb de tamaño. Este parámetro es obligatorio.

Logo

Sólo para Windows.

Logo de nuestra aplicación. Se usará para mostrar en el asistente de instalación del instalador que se genera.

Este parámetro es obligatorio.

Color principal

La ventana del login personalizada que se generará con este instalador tendrá un color predominante. Si no especificamos ninguno, será el negro.

Una vez cumplimentado todo, pulsaremos el botón “solicitar”. Si hay algo incorrecto, se permanecerá en la página y se llevará el foco a la propiedad que falta o esté incorrecta:

Si todo está correcto, veremos al final de la página el mensaje siguiente:

En unos minutos recibirás en tu email la url de descarga del instalador.

Aviso

En el caso de Android el tiempo puede ser algo mayor, hasta varias horas.

Firma de aplicaciones Android

Este servicio automáticamente firma tu instalador Android generando una firma asociada a este instalador (al nombre único). Cuando se crea el instalador por primera vez para la plataforma Android, se genera la firma asociada.

Esa firma se guarda en tu directorio $HOME de tu Velneo vServer Cloud, dentro de un directorio llamado certs.

Android utiliza el nombre único de instalador (conocido como package name) y la firma usada para firmar la aplicación como seña única de identidad para una aplicación dentro del universo Android. Esto implica que si la versión 1.1 la firmamos con una firma diferente de la que usamos para firmar la 1.0, Android las va a interpretar como aplicaciones diferentes y no como una actualización.

Aviso

Es importante no manipular manualmente esos ficheros para garantizar la estabilidad del sistema.

¿Puedo usar mi propia firma?

Si quieres subir la aplicación a Google Play con tu propia firma, puedes hacerlo, procediendo antes a refirmar la aplicación. Necesitas instalar algunas herramientas. Veamos los pasos:

keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias

Keytool se encuentra en el directorio bin de tu JDK (Java Development Kit).

Aviso

Es muy importante que guardes este almacén de firmas generado y su contraseña en lugar seguro. Si los pierdes no podrás hacer actualizaciones de tus aplicaciones en Google Play.

android-sdk\build-tools\25.0.2\apksigner sign --ks my-release-key.jks miinstalador.apk

Cómo distribuir aplicaciones Android

Tenemos dos vías para distribuir nuestro apk:

  1. Vía instalación manual: subimos el apk a algún ftp o similar y enviamos el enlace a nuestros clientes. Esta es la forma más sencilla para nosotros, pero puede ser algo más complicada para el cliente final. El cliente debe habilitar en su Android la opción de “Permitir instalar desde orígenes desconocidos” y además perdemos la ventaja de las actualizaciones automáticas. Cada vez que haya una nueva revisión de nuestra app los usuarios tendrían que repetir la misma operación.

Firma de aplicaciones Windows

Para firmar aplicaciones Windows necesitamos dos cosas:

  1. Una aplicación de Microsoft.

  2. Un certificado emitido por una empresa certificadora root.

Una vez descargada nuestra firma en formato .pfx, procedemos con la o las firmas.

Para firmar nuestro instalador, que llamaremos instalador.exe, con SHA1 hacemos:

c:/Program Files (x86)/Windows Kits/10/bin/x64/signtool.exe sign /d "tuEmpresa" /f certificado.pfx /p "password" /t http://timestamp.verisign.com/scripts/timstamp.dll/v instalador.exe

Para firmarlo con SHA256 hacemos:

c:/Program Files (x86)/Windows Kits/10/bin/x64/signtool.exe sign /fd sha256 /d "tuEmpresa" /f certificado.pfx /p "password" /as /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td sha256 /v instalador.exe

En este momento ya tendríamos nuestro instalador firmado y cuando se instala no emite alerta de "Editor desconocido".

Cómo distribuir aplicaciones Windows

Las aplicaciones en windows son instaladores en su versión 64 bits. Esto implica que sólo son válidos para sistemas operativos de esa arquitectura.

Los puedes enviar por correo electrónico a tus clientes o subirlo a algún ftp y distribuirlo desde allí.

Cuando el cliente lo ejecuta le puede aparecer, depende del sistema operativo., una alerta de seguridad indicando que se trata de un "Editor desconocido". Si pulsamos el enlace "Más información" ya nos permite instalarlo. Para eliminar ese mensaje tendrías que firmar ese instalador con tu propia firma. Te mostramos como puedes firmar tu aplicación de Windows.

No manipules esas carpetas de forma manual. Usar para ello la página de .

Si vas a crear el instalador para Android, este es el identificador único que tendrá tu aplicación dentro del universo Android, y está relacionado con la , así que en ese caso es muy importante que utilices tu dominio si lo tienes y un nombre descriptivo de tu app (Usar: erp, gestion, facturas, etc. No usar: app, aplicacion, etc).

Una vez tengamos nuestro instalador te mostramos cómo distribuirlo en y en .

Necesitas crear la firma (se almacena en un key store). Para ello debes usar la herramienta que viene con Java. Una vez instalada debes usar un comando similar a este:

Ahora que ya tenemos nuestra firma, nos queda el paso de refirmar nuestro apk (que debemos haber descargado a local). Para ello tenemos que instalar la versión 24.0.3 o superior de . Las siguientes instrucciones están hechas con la versión 25.0.2. Sustituye esa versión por la tuya. Para refirmar debemos usar el siguiente comando:

Ahora ya tenemos nuestro instalador firmado con nuestra firma y podemos proceder a .

Vía Google Play: es la forma más elegante y más fácil para el usuario final. Además ya está habituado a este sistema. Para ello necesitamos una cuenta en Google y darnos de alta en y hacer el pago único que nos exige Google. A partir de ahí seguiremos los pasos para subir nuestra apk.

La aplicación de Microsoft se llama y forma parte del Windows SDK que se puede descargar en .

El certificado podemos adquirirlo por ejemplo en . Tienes que tener en cuenta que si tienes previsto que tu instalación se instale en Windows 8.1 o anteriores, deberás firmar tu aplicación dos veces (con sha1 y sha256).

Puedes encontrar mucha más información sobre la firma de aplicaciones en Windows en las .

keytool
Android SDK Build Tools
Google Play Developer Console
Signtool
http://go.microsoft.com/fwlink/p/?linkid=84091
Thawte
páginas de Microsoft
https://velneo.es/mi-velneo/instaladores
Formulario nuevo Instalador
Formulario nuevo Instalador
Android
Windows
distribuir nuestra aplicación
Mis instaladores
firma de aplicaciones Android