Instalador
El instalador se genera con Inno Setup 6 a partir de installer\LoopbackTranscriber.iss. Usa funciones de la versión 6.3 o posteriores, como x64compatible y la página de descargas.
Generarlo
- Publica la aplicación en
installer\publish\. - Opcional: copia
vc_redist.x64.exeeninstaller\redist\para incluirlo en el instalador y no depender de la descarga. La carpeta está en.gitignore. - Compila el script con
ISCC.exe installer\LoopbackTranscriber.iss(por defecto enC:\Program Files (x86)\Inno Setup 6\), o ábrelo en el IDE de Inno Setup y pulsa Compile. - El resultado es
installer\Output\LoopbackTranscriberSetup-<versión>.exe.
Si no existe publish\LoopbackTranscriber.exe, la compilación se detiene con un error explicándolo.
Qué hace el script
Versión
Se lee del ejecutable publicado con GetVersionComponents:
AppVersiony el nombre del fichero usanMayor.Menor.Revisión, por ejemplo1.1.0;VersionInfoVersionusa los cuatro componentes.
Así la versión solo se define en Directory.Build.props.
Instalación
| Ajuste | Valor |
|---|---|
AppId |
{B6E1F6C4-6E8B-4A6E-9C2A-6C7B9A9E9C3D}. No debe cambiar: identifica la aplicación para actualizar y desinstalar. |
| Destino | {autopf}\LoopbackTranscriber |
| Arquitectura | solo x64, instalación en modo de 64 bits |
| Versión mínima de Windows | 10.0.22000 (Windows 11) |
| Idiomas del asistente | español, inglés, portugués de Brasil, alemán y ruso. Pregunta el idioma solo si no coincide con el de Windows y recuerda el de la instalación anterior. |
| Estilo del asistente | moderno, con el icono de la aplicación |
| Compresión | LZMA2 ultra64 sólida |
AppMutex |
Local\LoopbackTranscriber-B6E1F6C4-…, el mismo mutex de instancia única que usa la aplicación. El asistente detecta si está abierta y ofrece cerrarla (CloseApplications). No la vuelve a abrir sola. |
SetupMutex |
Impide ejecutar dos instaladores a la vez. |
| Accesos directos | menú Inicio, y escritorio opcional (desmarcado) |
| Al terminar | ofrece abrir la aplicación |
Ficheros
Copia todo publish\ excepto lo que no se usa en Windows x64:
- runtimes de
linux-x64,vulkan\linux-x64,win-arm64ywin-x86; - recursos satélite de idiomas que la aplicación no tiene:
cs,fr,it,ja,ko,pl,tr,zh-Hans,zh-Hant.
La sección [InstallDelete] borra esas mismas carpetas si quedaron de una instalación anterior.
Visual C++ Redistributable
Whisper.net y LLamaSharp necesitan el runtime de Visual C++ 2015-2022 x64.
flowchart TD
A(["Al pulsar Instalar"]) --> B{"¿Falta Visual C++?"}
B -->|no falta| Z(["No hace nada"])
B -->|falta| C{"¿Incluido en<br/>redist\?"}
C -->|sí| E["Lo extrae a la<br/>carpeta temporal"]
C -->|no| D["Lo descarga de<br/>aka.ms/vs/17/release/vc_redist.x64.exe"]
D -->|falla| W["Avisa y sigue<br/>sin instalarlo"]
D -->|bien| F
E --> F["Tras copiar los ficheros:<br/>vc_redist.x64.exe /install /quiet /norestart"]
class Z,F ok
class W fail
VCRedistMissing() considera que está instalado si en HKLM64\SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64 hay Installed = 1 y Minor ≥ 30.
El código de salida del instalador de Visual C++ decide qué pasa después:
| Código | Significado | Reacción |
|---|---|---|
0 |
Instalado | — |
1638 |
Ya había una versión igual o más nueva | — |
1641, 3010 |
Necesita reiniciar | El asistente ofrece reiniciar al terminar. |
| Otro | Error | Avisa con el código y el enlace para instalarlo a mano. |
Desinstalación
Tras desinstalar, si existe %LocalAppData%\LoopbackTranscriber, pregunta si borrar también los datos: ajustes, transcripciones, modelos y grabaciones sin procesar. La respuesta por defecto es No. Si se acepta, borra esa carpeta y %TEMP%\LoopbackTranscriber. Las carpetas que el usuario haya cambiado en Configuración no se tocan. En una desinstalación silenciosa no pregunta ni borra nada.