2

HyperlinkLargeTheme.xmlに次のコードがあります。

<Editbox Name="InstallDir" X="11" Y="143" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="yes">[InstallDir]</Editbox>
<Button Name="BrowseButton" X="-11" Y="142" Width="75" Height="23" TabStop="yes" FontId="3">Browse</Button>

C# でブートストラップを使用するコードは次のとおりです。

        var bootstrapper =
            new Bundle(ProductInformation.ProductName, netPckg, cppRedistributables, erlangPackage, rabbitMqPackage, sdkPackage, webPackage)
            {
                OutFileName = ProductInformation.ProductName,
                Manufacturer = ProductInformation.Manufacturer,
                Version = new Version(ProductInformation.Version),
                UpgradeCode = new Guid(ProductInformation.UpgradeCodeBundle),
                StringVariablesDefinition = @"InstallDir=[ProgramFilesFolder][WixBundleManufacturer];ServerIp=127.0.0.1;ServerPort=12543;DbConnStr=;WebSitePort=80"
            };

        bootstrapper.DisableModify = "yes";

        bootstrapper.IncludeWixExtension(WixExtension.Util);
        bootstrapper.Application.LogoFile = @"Images\WizardSmallImageFile.bmp";
        bootstrapper.Application.Attributes.Add("ThemeFile", @"Theme\HyperlinkLargeTheme.xml");
        bootstrapper.Application.LocalizationFile = @"Theme\HyperlinkTheme.wxl";

        bootstrapper.WixSourceGenerated += Bootstrapper_WixSourceGenerated;
        bootstrapper.IconFile = ProductInformation.IconFile;
        bootstrapper.OutFileName = ProductInformation.ProductName + " " + ProductInformation.Version;
        bootstrapper.OutDir = AppDomain.CurrentDomain.BaseDirectory;

        bootstrapper.PreserveTempFiles = true;
        var productMsi = bootstrapper.Build();

エディットボックスの内容は、インストーラーがファイルを適切な場所に配置するために使用されます。ただし、BrowseButton を使用してフォルダーを参照する場合、編集ボックスの内容は変更されません。Editbox の name 属性を「FolderEditbox」に変更すると、ブラウズ ボタンは予期したとおりに機能しますが、編集ボックスの内容に関係なく、ファイルはデフォルトのインストール ディレクトリにインストールされます。ボタンによる参照と、選択したディレクトリへのインストールの両方を実行するにはどうすればよいですか?

4

0 に答える 0