O que é um" script de instalação " no MSI?
a documentação oficial da Microsoft refere-se a algum "programa de instalação" em vários locais. Exemplo inimigo, aqui:
em vez disso, o instalador Escreve a acção personalizada na instalação roteiro.
examinei cuidadosamente MSDN e alguns livros sobre MSI-e não consigo encontrar uma definição clara o que é isto {[[[0]}, como está relacionado com o motor MSI
e como é exactamente
o programa de instalação pode ser executado fora da instalação sessão em que foi escrito
é alguma definição e documentação sobre este {[[0]} ou são alguns internos do motor não documentados MSI
que são referenciados apenas para fins bibliográficos?
1 answers
O instalador do Windows é uma linguagem de programação declarativa (vs imperativo). Em vez de escrever "script" em algum idioma você usa dados de tabela para expressar a instalação. Por exemplo, considere as tabelas:
Funcionalidade - > Componentes De Funcionalidades - Componente-Directório
Componente - > Ficheiro
Está a dizer ao MSI que, quando uma dada funcionalidade é instalada, os componentes que lhe pertencem precisam de ser instalados. Quando o componente é instalado, um diretório precisa ser criado e um arquivo precisa ser copiado. Se o rollsback do instalador, o arquivo e diretório precisa ser removido.
Isto é tratado por várias acções padrão, tais como CreateFolders e InstallFiles. Não escrevemos nenhum guião para isto.
Mas, na verdade, há um guião. É gerado pelo próprio instalador do Windows em tempo de execução. Dentro de qualquer ação padrão que modifica o estado da máquina estão duas fases diferentes:Geração de Script - o instalador é cuidadosamente considerando o que precisa ser feito e gerando dinamicamente uma lista de operações a serem realizadas
Execução de programas - o instalador está agora a executar esse programa. Nota: Isto ocorre dentro do InstallFinalize
Regista o teu instalador favorito e começa a procurar por ele para a acção InstallFiles. Verá as duas fases.
Isto é uma coisa muito importante para perceber ao escrever as suas próprias acções personalizadas. Para muito mais informações sobre o assunto, ver: