WxUI_Advanced UIを使用してWiXで動作する「インストールスコープ」画面を取得しようとしていますが、エラーは発生していません。WiXUI_Advancedインストールされたスコープが広告として動作しない
Hereは、インストール画面が表示される手順を段階的に確認するFire Giant(WiX dev)チュートリアルのページです。私はそれに従っています。私は同じことを言う教科書にも従っています。
私はWiX 3.10を使用していますが、これは問題の可能性があります。チュートリアルは古いかもしれませんか?私が使用している教科書はWiX 3.6用です。次のように
手順は次のとおりです。
1:あなたのプロジェクトでWixUIExtensionへの参照を持っていることを確認します。ソリューションエクスプローラのスクリーンショットを表示できたら、リファレンスがそこにあることがわかります。
ダイアログセットがファイルにWixUI_Advanced.wxsでWixUIExtensionでを定義している:火ジャイアントのチュートリアルの言語が言うのに対し、ということで、私は次のようだ教科書は、参照を使用するように言いますWiXソースコード。
私は、「参照を追加」を意味、しかし...
2を考える:(火ジャイアントチュートリアルでは、全くこれを言及していないWixUI_Advancedにマークアップで参照を追加します - 彼らは、どちらか)この必要なステップを見落としたり、それが含まれていませんでした:
<UIRef Id="WixUI_Advanced"/>
3:
0123:名前APPLICATIONFOLDERのディレクトリを持っていることを確認してください4:IdがApplicationFolderNameの特定のプロパティを追加します。この値は、UIに表示されるインストールディレクトリの名前を設定します。 5:同上WixPerMachinePerFolderかいずれかの値を持つWixAppFolderです...閲覧者別のプロパティを追加します。これにより、ユーザーはどちらを選択するかを選択できます。
<Property Id="ApplicationFolderName" Value="MyProgram"/>
<Property Id="WixAppFolder" Value="WixPerMachineFolder"/>
これだけです!プログラムはエラーメッセージと警告なしで動作しますが、インストールしているもの(テキストファイル)をインストールする以外は何もしません。ログファイルにエラーは表示されません。
ライセンスのRTFファイルを変更できるため、UIが実際に発生していることがわかりました。
ログには、特定のアクションがスキップされていることも表示されます。ログファイルのエントリは次のとおりです。
アクションの開始13:46:38:WixSetDefaultPerMachineFolder。
MSI(c)(04:A4)[13:46:38:195]:PROPERTY CHANGE:WixPerMachineFolderプロパティを追加しています。その値は 'C:\ Program Files *******戻り値1です。
MSI(C)(04:A4)[13:46:38:195]:スキップアクション:WixSetPerUserFolder(条件が偽である)
はMSI(C)(04:A4)[13時46分: 195]:38 WixSetPerMachineFolder
MSI(C)(04:A4)[13:46:38:195]:注:2205:2:1〜3:ActionText
アクション13時44分アクションを行います:54:WixSetDefaultPerUserFolder。
アクションの開始13:44:54:WixSetDefaultPerUserFolder。
MSI(88:C4)[13:44:54:159]:PROPERTY CHANGE:WixPerUserFolderプロパティを追加しています。その値は 'C:\ Users *** ...'です。
アクションが終了しました13:44:54:WixSetDefaultPerUserFolder。戻り値1
MSI(S)(88:C4)[13:44:54:159]:行うアクション:WixSetDefaultPerMachineFolder
MSI(S)(88:C4)[午後01時44分54秒:159]:注:1:2205 2:3:ActionText
アクション13:44:54:WixSetDefaultPerMachineFolder。
アクションの開始13:44:54:WixSetDefaultPerMachineFolder。
MSI(88:C4)[13:44:54:159]:PROPERTY CHANGE:WixPerMachineFolderプロパティを追加しています。その値は 'C:\ Program Files \ MyProgram'です。
アクションが終了しました13:44:54:WixSetDefaultPerMachineFolder。戻り値1
MSI(S)(88:C4)[13:44:54:159]:アクションスキップ:WixSetPerUserFolderを(条件が偽である)
MSI(S)(88:C4)[ 13:44:54:159]:スキップアクション:WixSetPerMachineFolder(条件が偽)
MSI(S)(88:C4)[13:44:54:159]:行うアクション:CostFinalizeの
MSI注:1:2205 2:3:ActionText
ここでは次のようになります(88:C4)[13:44:54:159]彼は、全体のコード:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*"
Name="WixUIAdvanced"
Language="1033"
Version="1.0.0.0"
Manufacturer="Microsoft"
UpgradeCode="f3410225-cde1-4067-a6e6-2e016d7cf38b">
<Package InstallerVersion="200"
Compressed="yes"
InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes"/>
<UIRef Id="WixUI_Advanced"/>
<WixVariable Id="WixUILicenseRtf" Value="src\license.rtf"/>
<Property Id="ApplicationFolderName" Value="MyProgram"/>
<Property Id="WixAppFolder" Value="WixPerMachineFolder"/>
<Feature Id="ProductFeature"
Title="WixUIAdvanced"
Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="APPLICATIONFOLDER"
Name="MyFolder"/>
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="APPLICATIONFOLDER">
<Component Id="ProductComponent">
<File Source="TextFile1.txt"/>
</Component>
</ComponentGroup>
</Fragment>
私はこれは高度なUIがどのように動作するか、であるWiXの3.10、Visual Studioの2015年