Module - Installeur NSIS
Packaging d'installeur Windows on-premise (heritage). Le site peut etre livre comme un .exe auto-installable qui configure IIS, la DB et le site sur un serveur.
Generation
Cible Cake : NSIS. Elle appelle MakeNSIS("./nsis/StarterKitv3.nsi", ...) en injectant des defines derives de la config du skin (doc/StarterKitv3_InfosTechniques.json) et du SharedAssemblyInfo.cs :
| Define | Source |
|---|---|
VERSION | version courante (SharedAssemblyInfo.cs) |
SKIN_NAME / IIS_SITE_NAME / IIS_APP_POOL_NAME | skinName |
ISSHOP | IsShopEnabled() |
ISFULLTEXTSEARCH | IsSearchEnabled() |
PROD_DB_SERVER / PROD_DB_NAME / PROD_DB_USER / PROD_DB_PASS | config DB du client |
SQLSERVER_SA_USER / SQLSERVER_SA_PASS | compte sa (azuresa si serveur 10.1.0.100) |
DATABASE_NAME | <catalog>.sql |
Ne pas editer le .nsi a la main : le fichier porte un avertissement explicite ; tout passe par la cible Cake NSIS.
Contenu / structure
nsis/ :
StarterKitv3.nsi: script principal (Modern UI). Flags de tete :INCLUDE_CORE_SITE_FILES,INCLUDE_MEDIA_SITE_FILES,INCLUDE_DATABASE_FILE. Referenceprodconfig/<skin>,website/,db/,data/,library/.Banner.bmp/welcome.bmp/welcome.psd/package.ico: assets visuels.deploy/Tool/: outils embarques.- Plugin AccessControl utilise pour les permissions (voir Readme.md).
L'installeur cree le site sous ${IIS_ROOT_DIR}\${IIS_SITE_NAME} (defaut E:\Sites\<skin>) et peut inclure / restaurer la base depuis le script SQL.
Generation du script DB pour l'installeur
Le script de base de donnees inclus est genere avec mssql-scripter (schema + data) depuis une base de prod :
mssql-scripter -S 127.0.0.1 -d umbraco-starterkitv3-prd-db -U sa --schema-and-data --target-server-version 2017 > ./umbraco-starterkitv3-prd-db.sqlAdapter ensuite les chemins physiques .mdf/.ldf selon le serveur cible (voir Readme.md, section NSIS).
Note
Ce mode de livraison coexiste avec Docker + GitLab CI (modele pull). NSIS reste utilise pour des deploiements on-premise specifiques. Les nouveaux deploiements passent plutot par Docker / CI (voir ../architecture/build-deploy.md).

