Crie um Instalador de Windows "MSI" usando WiX parte2
Inicialmente
Da última vez, preparamos os arquivos necessários e montamos o projeto. Desta vez, edite "Product.wxs" e faça várias configurações do instalador.
Editar configurações de instalação (Product.wxs)
O conteúdo do arquivo Product.wxs é descrito no formato XML. Existem uma série de parâmetros, mas primeiro faremos as configurações mínimas para garantir que o instalador possa ser criado. Se você quiser configurá-lo com mais detalhes, consulte outro artigo ou o site oficial.
No momento da criação do projeto, o código se parece com este:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="SetupLittleSaviorTrial_x86" Language="1033" Version="1.0.0.0" Manufacturer="" UpgradeCode="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<Feature Id="ProductFeature" Title="SetupLittleSaviorTrial_x86" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="SetupLittleSaviorTrial_x86" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<!-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -->
<!-- <Component Id="ProductComponent"> -->
<!-- TODO: Insert files, registry keys, and other resources here. -->
<!-- </Component> -->
</ComponentGroup>
</Fragment>
</Wix>
Aqui estão algumas coisas que você precisa mudar: Adicione tags e atributos que não existem.
Wix/Produto/@Id
Defina o GUID que identifica o aplicativo.
Existem muitas ferramentas para gerar GUID, mas é rápido usar as ferramentas que vêm com o Visual Studio. Selecione o menu "Ferramentas" e "Criar GUID".
Obtenha um código de 36 dígitos, incluindo um hífen, e configure-o para Wix/Product/@Id.
<Wix>
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />
Wix/Produto/@Name
Este é o nome do aplicativo exibido em cada parte da tela do instalador. Também pode ser o nome que aparece na lista Adicionar e Remover Programas.
<Wix>
<Product Name="リトルセイバー 体験版" />
Wix/Produto/@Manufacturer
Digite o nome do fabricante. Aparece como o autor do instalador ou o editor da lista do programa.
<Wix>
<Product Manufacturer="ソーサリーフォース">
Wix/Produto/UIRef/@Id
Digite um ID que identifique qual tela exibir no assistente de instalação. Desta vez, como é a configuração mínima para exibir e instalar apenas a licença, "WixUI_Minimal" é especificado.
<Wix>
<Product>
<UIRef Id="WixUI_Minimal" />
Eu acho que o seguinte site será útil em que tipo de designação pode ser feita.
Usando o conjunto de diálogo WixUI
Wix/Produto/WixVariable/*
Especifica o arquivo a ser usado na interface do usuário do assistente. A configuração mínima usa três arquivos: O valor do id é fixo e o Valor é o nome do arquivo.
<Wix>
<Product>
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
Ícone de aplicativo de instalação
É usado para ícones de aplicativos que aparecem em "Adicionar e Remover programas", etc.
No "SourceFile" do elemento Ícone, especifique o arquivo ico como um caminho relativo da pasta do projeto.
"Property Id="ARPPRODUCTICON" é a definição de associação do ícone.
<Wix>
<Product>
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
Wix/Fragmento (configuração da pasta de arquivo)
Define a configuração da pasta para instalar. Originalmente, você também colocará arquivos, mas criará apenas pastas primeiro.
O valor de "Nome" definido para "Id="ProgramMenuDir" é o nome da pasta colocada no atalho do menu iniciar. Definir guias também.
<Wix>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="SetupLittleSaviorTrial_x86" />
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ProgramMenuDir" Name="リトルセイバー 体験版">
<Component Id="ProgramMenuDir" Guid="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" KeyPath="yes" />
</Component>
</Directory>
</Directory>
</Directory>
</Fragment>
Adicionar arquivos de instalação
Você também pode adicioná-lo a um arquivo Product.wxs manualmente. Uma vez que um GUID é necessário para um arquivo, é difícil trabalhar com mais arquivos. Então, para adicionar arquivos, use WixEdit para adicioná-los.
Lançar WixEdit.
Abra o arquivo Product.wxs.
Selecione Arquivos do ícone à esquerda. Exclua as pastas abaixo Do ProgramFilesPato.
Clique com o botão direito do mouse na pasta ProgramFilesFolder e selecione Pasta de Importação.
Selecione a pasta onde deseja instalar os arquivos.
Um conjunto de arquivos é adicionado à árvore.
Para se associar a outros parâmetros, selecione a pasta adicionada e defina "Id" de volta para "INSTALLFOLDER".
Crie um atalho para o menu Iniciar. selecione "Novo" e "Atalho" no menu com o botão direito do mouse do arquivo exe.
Quando o atalho for adicionado, selecione-o e clique com o botão direito do mouse em branco para adicionar a propriedade.
Adicione os seguintes parâmetros: (Alterar o nome exclusivo para combinar com o programa.)
Valor de | atributo |
---|---|
Id | LITTLESAVIORTRIAL. EXE_shortcut |
Nome | Pequeno Julgamento de Sabre |
Diretório | ProgramaMenuDir |
WorkingDirectory | INSTALLDIR |
Ícone | O LITTLESAVIOR. ICO |
IconIndex | 0 |
Anunciar | Sim |
Em seguida, selecione a guia "Recurso", clique com o botão direito do mouse em "ProductFeature" e selecione Selecionar componentes para adicionar.
Selecione tudo.
Adicionado.
Salvar.
Product.wxs deve ser algo assim:
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" Name="リトルセイバー 体験版" Language="1033" Version="1.0.0.0" Manufacturer="ソーサリーフォース" UpgradeCode="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<UIRef Id="WixUI_Minimal" />
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
<Feature Id="ProductFeature" Title="SetupLittleSaviorTrial_x86" Level="1">
<ComponentGroupRef Id="ProductComponents" />
<ComponentRef Id="LITTLESAVIOR.ICO" />
<ComponentRef Id="LITTLESAVIORTRIAL.EXE" />
<ComponentRef Id="LITTLESAVIORTRIAL.EXE.CONFIG" />
<ComponentRef Id="ProgramMenuDir" />
</Feature>
<UI />
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="LittleSaviorTrial">
<Component Id="LITTLESAVIOR.ICO" DiskId="1" Guid="0B4DD82C-C6EF-4299-8EAB-4F9BB35FD952">
<File Id="LITTLESAVIOR.ICO" Name="LittleSavior.ico" Source="LittleSaviorTrial\LittleSavior.ico" />
</Component>
<Component Id="LITTLESAVIORTRIAL.EXE" DiskId="1" Guid="8D805936-A25E-4DA6-9A0A-A5BDB2AD768D">
<File Id="LITTLESAVIORTRIAL.EXE" Name="LittleSaviorTrial.exe" Source="LittleSaviorTrial\LittleSaviorTrial.exe" KeyPath="yes">
<Shortcut Id="LITTLESAVIORTRIAL.EXE_shortcut" Name="リトルセイバー 体験版" Directory="ProgramMenuDir" WorkingDirectory="INSTALLDIR" Icon="LITTLESAVIOR.ICO" IconIndex="0" Advertise="yes" />
</File>
</Component>
<Component Id="LITTLESAVIORTRIAL.EXE.CONFIG" DiskId="1" Guid="790C427A-A72C-4444-ACD6-ECF32AA788AD">
<File Id="LITTLESAVIORTRIAL.EXE.CONFIG" Name="LittleSaviorTrial.exe.config" Source="LittleSaviorTrial\LittleSaviorTrial.exe.config" />
</Component>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ProgramMenuDir" Name="リトルセイバー 体験版">
<Component Id="ProgramMenuDir" Guid="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" KeyPath="yes" />
</Component>
</Directory>
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
</ComponentGroup>
</Fragment>
</Wix>
Construir e executar a confirmação
Faça a configuração da solução "Lançamento" no Visual Studio.
Comece a construir a partir da Build Solution.
Quando o edifício é bem sucedido, um arquivo MSI é gerado na pasta "bin\Release".
Se você tentar executá-lo, o instalador será inicial.
Quando a instalação estiver concluída, um atalho será criado no menu Iniciar.
O arquivo é colocado na pasta Arquivos do Programa (x86).
O aplicativo também aparece em "Programas e Funções".
Execute o aplicativo e certifique-se de que está funcionando corretamente.
Resumo
Aqui descrevemos os passos para criar um instalador MSI usando Visual Studio e WiX. Gostaria de explicar as configurações detalhadas em um artigo separado.