3

Bootstrapper を使用してセットアップ ファイルを作成しようとしました。これは、最初に .NET Framework セットアップ ファイルを実行し、次に MyApp.exe のみを実行することを目的としています。プロジェクトを終了した後、最終的なセットアップ ファイルを取得しましたが、ファイルを選択してからダブルクリックまたは Enter キーを押しても起動しません。どこが間違っていたのかわかりません。

これはprogram.csファイルです:

using Microsoft.Tools.WindowsInstallerXml.Bootstrapper;
namespace testingBoot
{
    class Program:BootstrapperApplication
    {
        static void Main(string[] args)
        {
            Console.WriteLine("This is tesing for the bootStrapper");
            Console.Read();
        }

        protected override void Run()
        {
            throw new NotImplementedException();
        }
    }
}

私のWiXインストールファイルはここにあります

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">

    <Bundle UpgradeCode="46C265F4-3F60-4781-9EF6-DB889C115D55" Version="1.0.0.0">
        <BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost" >
            <Payload SourceFile="BootstrapperCore.config" />
            <Payload SourceFile="C:\Program Files (x86)\WiX Toolset v3.7\SDK\Microsoft.Deployment.WindowsInstaller.dll" />
        </BootstrapperApplicationRef>
        <Variable Name="LaunchTarget"
            Value="[ProgramFiles64Folder]Folder\Exe Name.exe"/>
        <Chain>
          <PackageGroupRef Id="Netfx4Full"/>
          <ExePackage SourceFile="$(var.PATH)\testingBoot.exe"/>
        </Chain>
    </Bundle>

    <Fragment>
        <WixVariable Id="WixMbaPrereqPackageId"
                     Value="Netfx4Full"/>
        <WixVariable Id="WixMbaPrereqLicenseUrl"
                     Value="NetfxLicense.rtf" />
        <util:RegistrySearch Root="HKLM"
                             Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full"
                             Value="Version"
                             Variable="Netfx4FullVersion" />
        <util:RegistrySearch Root="HKLM"
                             Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full"
                             Value="Version"
                             Variable="Netfx4x64FullVersion"
                             Win64="yes" />

        <PackageGroup Id="Netfx4Full">
            <ExePackage Id="Netfx4Full"
                        Cache="no"
                        Compressed="yes"
                        PerMachine="yes"
                        Permanent="yes"
                        Vital="yes"
                        Name="dotNetFx40_Full_x86_x64.exe"
                        SourceFile="dotNetFx40_Full_x86_x64.exe"
                        DetectCondition="VersionNT64" />
        </PackageGroup>
    </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>

またtestingBoot.exe、構成ファイルのように、ホストの下のアセンブリ名を独自のアセンブリ名に変更しましたBootstrapperCore.config

これが私のBootStrapperCore.configファイルの内容です:

<configuration>
    <configSections>
        <sectionGroup
            name="wix.bootstrapper"
            type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.BootstrapperSectionGroup, BootstrapperCore">

            <section
                name="host"
                type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.HostSection, BootstrapperCore" />
        </sectionGroup>
    </configSections>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0" />
        <supportedRuntime version="v2.0.50727" />
    </startup>
    <wix.bootstrapper>
        <host assemblyName="testingBoot" >
            <supportedFramework version="v4\Full" />
        </host>
    </wix.bootstrapper>
</configuration>
4

1 に答える 1