Crie um instalador para instalar um aplicativo de 64 bits

Data de criação de página :

Ambiente

Estúdio Visual
  • Visual Studio Community 2017
  • Visual Studio Community 2019
WiX Toolset
3.11.2

◗ Funciona em outras versões, mas não é confirmado

No começo

O WiX o instala como um aplicativo de 32 bits, a menos que explicitamente especificado. Por exemplo, quando você instala em um sistema operacional de 64 bits, ele é instalado na pasta C:\Program Files (x86)\).

Esta seção descreve as configurações para instalação como um aplicativo de 64 bits. Suponha que você já criou um projeto WiX e criou um instalador.

A propósito, se você instalar um aplicativo de 64 bits, é um aplicativo de 32 bits ou um aplicativo de 64 bits? Porque depende do arquivo que eu incluí, por favor pense que a configuração do lado do instalador para o último. Você também pode impedir explicitamente a instalação no SO de 32 bits, suportando o instalador 64bit.

Pré-preparação

  • Suponha que você tenha criado um instalador no WiX.

Crie um projeto

Crie um novo projeto para o instalador de 64 bits. Se você precisar criar um instalador de 32 bits e 64 bits, É útil ser capaz de construí-lo ao mesmo tempo dividindo-o em um projeto separado de 32bit.

image

image

image

Uma vez que você tenha criado um projeto, você vai configurar o projeto como você faria a versão de 32bits, e, em seguida, Copie os arquivos criados na versão de 32 bits para o projeto de 64 bits.

image

Na versão de 64 bits, você precisará de quase o mesmo arquivo da versão de 32bits, então há uma maneira de compartilhar o arquivo. Porque a explicação se torna um pouco complicada, eu vou poupar esse tempo.

Configurações de 64bits para projetos de instalador

Para criar um instalador para um aplicativo de 64 bits, altere as configurações do projeto. Se você definir os seguintes padrões A ou B, você pode fazê-lo.

Outra maneira de especificar x64 para o atributo Plataforma do Pacote é No momento, ele é preterido e não tem efeito quando definido, e você deve definir o parâmetro de 64bits para que cada arquivo seja instalado. Eu não recomendo porque é ineficiente.

A. Adicionar plataforma x64 ao projeto

Inicialmente, o projeto só tem uma configuração de compilação x86, então adicione x64.

Selecione o menu "Build" e "Gerenciador de configuração".

image

Faça a configuração da solução Liberar e selecione Novo na plataforma de projeto x64.

image

Não crie novas plataformas "x64", fontes "x86" e novas plataformas de soluções.

image

Quando você adicioná-lo, abra a plataforma novamente. Selecione Editar. A propósito, x64 x64 pode não estar na lista imediatamente após adicioná-lo, mas pode ser adicionado à lista quando você fechar e atualizar a tela.

image

Remova o x86 por causa de uma falha no projeto wix que faz com que a seleção inicial não mude para x64 e x86. No entanto, isso também pode ser um problema e mesmo que o x86 seja apagado, ele será ressuscitado. Se você quiser ter certeza de excluí-lo, é uma boa ideia abrir o arquivo do projeto "wixproj" em um editor de texto e excluir o código.

image

Se parece com a figura abaixo, está tudo bem. A plataforma ativa no canto superior direito permanece x86, então se você estiver curioso, renomeie-o em edição.

image

B. Adicionou "-arch x64" aos parâmetros de compilação.

Clique com o botão direito do projeto do instalador de 64bits para abrir propriedades.

image

Selecione Configurações de ferramentas na guia esquerda e altere a configuração para Liberar. Em parâmetros adicionais, digite -arch x64 no Compilador.

image

Faça da pasta de destino uma pasta de 64 bits

Open Product.wxs.

Substitua o seguinte "Directory Id="ProgramFilesFolder" por "Directory Id="ProgramFiles64Folder".

<Wix>
	<Fragment>
		<Directory Id="TARGETDIR" Name="SourceDir">
			<Directory Id="ProgramFiles64Folder">

Alterar o nome do arquivo ou pasta de um atalho no menu Iniciar

Não é necessário, mas se você copiar as configurações de 32bits como elas são, você pode copiá-las diretamente nos menus de início de aplicativos de 32 bits e 64 bits. O atalho será coberto.

Mude-o conforme necessário.

<Wix>
  <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFiles64Folder">
        <Directory Id="INSTALLFOLDER" Name="LittleSaviorTrial">
          <Component Win64="yes" Id="LITTLESAVIORTRIAL.EXE" DiskId="1" Guid="E382FBDF-73E0-4511-A73D-E9798449F30E">
            <File Id="LITTLESAVIORTRIAL.EXE" Name="LittleSaviorTrial.exe" Source="LittleSaviorTrial\LittleSaviorTrial.exe" KeyPath="yes">
              <Shortcut Id="LITTLESAVIORTRIAL.EXE_shortcut" Name="ここのファイル名を 64bit 版に変える" Directory="ProgramMenuDir" WorkingDirectory="INSTALLDIR" Icon="LITTLESAVIOR.ICO" IconIndex="0" Advertise="yes" />
  <!-- 中略 -->
  <Directory Id="ProgramMenuFolder">
    <Directory Id="ProgramMenuDir" Name="ここのフォルダ名を 64bit 版に変える">
      <Component Id="ProgramMenuDir" Guid="5A73CC85-A1B3-4409-8C4F-3E8E888A7167">
        <RemoveFolder Id="ProgramMenuDir" On="uninstall" />

Produto.wxs geral

Construa neste estado para garantir que o instalador seja criado sem erros. Depois de instalar em um ambiente de so de 64 bits, verifique se as pastas e arquivos são criados em C:\Program Files\.

image

Além disso, verifique se ele falha quando você tenta instalar em um ambiente de SO de 32bits.

image