Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 3956|Resposta: 6

NSIS (1) Faça um instalador simples

[Copiar link]
Publicado em 28/01/2024 09:42:28 | | | |
Requisitos: Desenvolvi um aplicativo usando Winform e quis criar um instalador para instalar e executar esse aplicativo, mostrando que o produto é mais formal.

Introdução ao NSIS

NSIS (Nullsoft Scriptable Install System) é um sistema profissional de código aberto para criar instaladores do Windows. Ele foi projetado para ser o mais pequeno e flexível possível, tornando-o ideal para distribuição pela internet.

Como a primeira experiência de um usuário com um produto, um instalador estável e confiável é uma parte importante para um software bem-sucedido. Com o NSIS, você pode criar um instalador capaz de realizar todas as operações necessárias para instalar software.

O NSIS é baseado em scripts, permitindo criar lógica para lidar com as tarefas de instalação mais complexas. Muitos plugins e scripts já estão disponíveis: você pode criar instaladores web, se comunicar com Windows e outros componentes de software, instalar ou atualizar componentes compartilhados, entre outros.


Baixar NSIS:

O login do hiperlink está visível.
O login do hiperlink está visível.

Plugins NSIS:O login do hiperlink está visível.

HM NIS EDIT baixar:

O login do hiperlink está visível.
O login do hiperlink está visível.

HM NIS EDIT: Editor/IDE gratuito NSIS: HM NIS Edit é o melhor editor/IDE para o Sistema de Instalação de Scripts Nullsoft (NSIS). É muito útil para especialistas e iniciantes que usam o NSIS para criar instaladores. Seu assistente de script vai ajudar você a criar um instalador padrão com apenas alguns cliques, e seu designer InstallOptions vai te ajudar a criar suas próprias páginas personalizadas com uma interface amigável de arrastar e soltar.

Baixar e instalar

Baixe os softwares NSIS e HM NIS EDIT, instale o NSIS primeiro e depois instale o HM NIS EDIT, como mostrado abaixo:



Crie um pacote de instalação

Crie uma nova aplicação Winform, use a ferramenta IDE para criar uma nova aplicação Winform do .NET framework 4.7.2 (omitido), compile-a e use o NSIS para criar um pacote de instalação.

Abra a ferramenta HM NIS EDIT e selecione File-> New Script: Wizard, conforme mostrado abaixo:



Personalize as informações da inscrição de acordo com sua situação real, como mostrado na figura abaixo:



Desmarque "Inglês" e selecione "Chinês Simplificado" conforme mostrado na figura a seguir:



Defina o caminho do arquivo de autorização conforme mostrado na figura a seguir:



Especifique o arquivo do aplicativo, exclua a configuração existente e então adicione nosso diretório de aplicativos conforme mostrado na figura abaixo:




Clique em Próximo, conforme mostrado abaixo:



Por favor, preencha o programa, os parâmetros e autorreporte de acordo com sua situação, conforme mostrado na figura abaixo:



Desinstale a configuração do programa conforme mostrado na figura a seguir:



O último passo é salvá-lo como um script test.nsi para a próxima compilação, conforme mostrado abaixo:



Compile o script e gere o pacote de instalação conforme mostrado na figura abaixo:



Anexe o código test.nsi:

(Fim)





Anterior:Explore tópicos na Extensão Responsiva Reativa .Net
Próximo:NSIS (ii) mutex garante que apenas um instalador esteja rodando
 Senhorio| Publicado em 28/01/2024 10:09:14 |

funçãosignificado
SecçãoA função mais básica representa um departamento, usada para representar um componente que precisa ser instalado, o conteúdo da seção é a última parte do programa a ser executada, exceto para desinstalar, mas será a primeira a verificar durante a compilação; se não houver seção ou função no programa, a compilação será encerrada e o bloco de código na seção precisará ser recuado em 2 espaços
FunçãoA função executada também precisa ser indentada, seu nome da função será reconhecido; se for reconhecida como um nome especial, será realizada sob circunstâncias específicas, que serão explicadas abaixo
Extremidade da SeçãoIndica o fim do departamento, não recuado dentro da seção
FunctionEndIndica o fim da função, igual ao anterior
SetCompressorDefina o algoritmo de compressão, os seguintes parâmetros são o algoritmo de compressão no assistente, sólido usa /SOLID como prefixo, por exemplo, algoritmo solid lzma é escrito como /SOLID lzma
SetCompressorDefina o tamanho do volume comprimido, seguido de um número, e geralmente não importa se você não escreve
OutFileDecida o caminho do pacote de instalação compilado (o caminho dos pacotes de instalação futura, não em qual pasta colocar)
NomeDefina o nome do produto, geralmente o nome do aplicativo + a versão do app escrita na primeira etapa do assistente
InstallDirRepresenta o caminho de instalação padrão, que é preenchido na primeira linha do quarto passo do assistente, que determina o valor de $INSTDIR
ShowInstDetailsOs parâmetros não são simples verdadeiro e falso, mas mostrar, esconder e nunca mostrar, o que indica que os detalhes são exibidos automaticamente, o botão de usuário exibe os detalhes e os detalhes da instalação não podem ser vistos
MostrarUnInstDetalhesIndica se os detalhes de desinstalação estão exibidos e os parâmetros são os mesmos que acima
BrandingTextExibe as informações na parte inferior do pacote de instalação, ou seja, a última linha de texto personalizado na primeira etapa do assistente, que pode aceitar dois parâmetros: um é o texto a ser exibido, e o parâmetro opcional é /TRIM, que pode determinar a direção do alinhamento do texto (ESQUERDA, DIREITA ou CENTRO, o padrão é ESQUERDA, /TRIMLEFT, /TRIMRIGHT ou /TRIMCENTER devem ser escritos, sem separação entre eles)
SetOutPathEle só pode ser escrito na primeira linha da Seção, que determina a localização de instalação do componente representado pela Seção, diferente do InstallDir, o SetOutPath permite que diferentes componentes sejam instalados em diferentes subdiretórios do diretório total da instalação, recomenda-se definir como $INSTDIR\ pasta com o nome do componente (ou, se os componentes forem interdependentes, você pode ajustar o caminho do componente separadamente)
SetOverWriteSó pode ser escrito em Section, que é usado para definir se sobrescrever quando instalado, e os parâmetros podem ser configurados para sempre sobrescrever (ligado), nunca sobrescrever (desligado), sobrescrever quando mais novo (ifnewer), sobrescrever quando o conteúdo do arquivo for diferente (ifdiff) e tentar sobrescrever (try), correspondendo à quinta etapa do assistente > editar itens do diretório
ArquivoEle só pode ser escrito em Section, o que significa que Section contém e empacotou arquivos, e o parâmetro de escape /r representa arquivos e pastas contendo subdiretórios, e os passos correspondentes do assistente são os mesmos que acima. /x é usado para excluir arquivos, você pode escrever /x "*.ico" "xxx\*", que significa excluir arquivos ICO e excluir todos os arquivos do subdiretório xxx, correspondendo ao passo 5 do assistente
CreateDictionaryCrie uma pasta seguida pelo caminho completo ou relativo da pasta
CreateShortcutCrie um atalho, o primeiro é o caminho do atalho (sufixo .lnk), e o segundo é o caminho do atalho para o arquivo, correspondente à parte inferior do passo 6 do assistente
WriteUninstallerCrie um desinstalador seguido pelo nome do caminho do desinstalador
WriteRegStrEscreva no registro, que geralmente não precisa ser alterado, basta seguir o assistente para gerar
ExcluirNormalmente, na seção de desinstalar, exclua um único arquivo, seguido pelo caminho do arquivo excluído, porque é um único arquivo, você não pode adicionar /r
RMDirNormalmente, na seção de desinstalar, exclua o diretório e todos os arquivos do diretório, seguido pelo caminho do diretório deletado, o primeiro geralmente precisa adicionar manualmente /r, o assistente não adicionou isso a você, se você não adicionar, ele desinstala o resíduo, é melhor escrever esse comando uma vez para cada subdiretório, você precisa adicionar /r e, por fim, remover o diretório geral RMDir "$INSTDIR"
DeleteRegKeyPara deletar as informações do registro, geralmente você pode seguir o assistente para gerá-las
SetAutoCloseEle só pode ser escrito na Seção, indicando se ele saltará automaticamente para a interface de conclusão após a conclusão da instalação, com os parâmetros verdadeiro e falso
AutoCloseWindowNão parece ter efeito, a função parece ser a mesma da anterior, mas pode ser escrita fora da seção, e os parâmetros são os mesmos que mencionei acima
Caixa de mensagensA caixa de mensagem só pode ser escrita em Seção ou Função, há muitos parâmetros, incluindo informações de exibição, aviso de exibição, perguntar sim não, perguntar okcancelretry, etc., insira a Caixa de Mensagem no VNISEdit para obter uma lista de todos os parâmetros e então conecte o conteúdo exibido na caixa de mensagem
Abortarbloqueando, esperando o usuário responder
HideWindowJanela oculta, geralmente usada para desinstalar a Seção, o desinstalador se apaga primeiro, depois apaga outros arquivos (sim, o programa ainda está rodando) e fecha automaticamente a janela após a exclusão


 Senhorio| Publicado em 28/01/2024 11:07:28 |
Função de retorno de chamada

Função de retorno de chamada na instalação

.onGUIInit
.onInit
.onGUIEnd
.onRebootFailed
.onSelChange
.onUserAbort
.onVerifyInstDir

Função de retorno de chamada ao desinstalar

un.onGUIInit
un.onInit
um.onUninstFailed
un.onUninstSuccess
un.onGUIEnd
un.onRebootFailed
un.onSelChange
un.onUserAbort


Os detalhes são os seguintes:

onGUIInit:
O callback será chamado antes que a primeira página carregue e o diálogo do instalador seja exibido, permitindo que você ajuste a interface do usuário.

onInit:
Esse callback será chamado quando o instalador estiver próximo de concluir a inicialização. Se a função .onInit chamar Abort, o instalador sai imediatamente.

onInstFailed:
Essa função de retorno é chamada quando o usuário clica no botão "cancelar" após uma falha de instalação (se o instalador não conseguir liberar nenhum arquivo, ou se o script de instalação usar o comando Abortar).

onInstSuccess:
O callback é chamado antes que a instalação seja bem-sucedida e a janela de instalação se fecha (se AutoCloseWindow ou SetAutoClose estiver configurado como falso, pode ser após o usuário clicar em "Fechar").

onGUIEnd:
O callback é chamado logo após a janela do instalador ser fechada. Use para liberar plugins relacionados à interface do usuário quando necessário.

onMouseOverSection:
O callback é invocado sempre que o mouse passa pela caixa de seleção de seção da árvore. Isso permite definir uma descrição de exemplo para cada segmento. O ID do segmento atual onde o mouse está localizado foi temporariamente salvo em $0.

onRebootFailed:
Essa função de retorno é chamada quando a instrução de reinício falha. WriteUninstaller, plug-ins, File e WriteRegBin não podem ser usados para essa função de callback.

onSelChange:
É chamado quando as opções da página de seleção de componentes são alteradas. Comumente usado para usar SectionSetFlags e SectionGetFlags.

onUserAbort:
Esse callback é chamado quando o usuário clica no botão "cancelar" e a instalação ainda não falhou. Se a função chamar Abort, a instalação não será encerrada.

onVerifyInstDir:
Esse callback permite que seu instalador controle se o caminho de instalação é válido ou não. Esse código é chamado uma vez a cada vez que o usuário altera o caminho de instalação. Se a função chamar Abort, o caminho para $INSTDIR é considerado inválido.

ONU. GUIInit:
O callback será chamado antes da primeira página carregar e o diálogo Desinstalar aparecer, permitindo que você ajuste a interface de desinstalação.

un.onInit:
Esse callback será chamado quando o desinstalador estiver próximo de concluir a inicialização. Se a função un.onInit usar Abortar, o desinstalador sai imediatamente. Nota: A função pode validar e/ou modificar a $INSTDIR se necessário.

un.onUninstFailed:
Essa função de retorno de chamada é chamada quando o usuário clica no botão "Cancelar" após a falha de uma desinstalação (se o comando Abortar ou outro comando falhado for usado).

un.onUninstSuccess:
O callback é chamado antes que a desinstalação seja bem-sucedida e fecha justificadamente a janela de desinstalação (possivelmente depois que o usuário clica em "fechar" se o SetAutoClose estiver configurado como falso).

un.onGUIEnd:
O callback é chamado logo após a janela de desinstalação ser fechada. Use para liberar plugins relacionados à interface do usuário quando necessário.

un.onRebootFailed:
Essa função de retorno é chamada quando a instrução de reinício falha. WriteUninstaller, plug-ins, File e WriteRegBin não podem ser usados para essa função de callback.

un.onUserAbort:
Esse callback é chamado quando o usuário clica no botão "Cancelar" e a desinstalação não falhou. Se a função chamar Abort, o desinstalador não sairá.

 Senhorio| Publicado em 28/01/2024 12:07:23 |
A chamada deve ser usada com nomes de funções começando com "un." na seção de desinstalar.
Usage: Call function_name | [:label_name]


O NSIS tem condições de nomenclatura - funções chamadas pelo desinstalador devem ter um prefixo no nome "un".

A solução é a seguinte:

Referência:

O login do hiperlink está visível.
O login do hiperlink está visível.

 Senhorio| Publicado em 28/01/2024 15:10:07 |
Documentação do NSIS:https://documentation.help/NSIS/
 Senhorio| Publicado em 09/05/2024 09:46:16 |
O Advanced Installer é um poderoso fabricante de pacotes de instalação MSI que gera instaladores certificados do Windows MS Windows com uma interface gráfica amigável, intuitiva e muito simples, tornando-se um bom desenvolvedor de instaladores do Windows.
 Senhorio| Publicado em 21/02/2025 17:36:44 |
Inno Setup é um instalador gratuito de programa para Windows desenvolvido por Jordan Russell e Martijn Laan. O Inno Setup foi lançado pela primeira vez em 1997 e hoje rivaliza e até supera muitos instaladores comerciais em termos de conjunto de recursos e estabilidade.

Site:O login do hiperlink está visível.

Caso: Aplicação Ollama para Windows,O login do hiperlink está visível.
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com