目的・問題
WixとWix Editで、インストーラーを作っていますが、サイズが大きくなってしまったため、
インストーラーに7z.exeを同封して、ファイルサイズの大きいデーターは、
セットアップフォルダーと同じディレクトリに7z形式で保存し、
カスタムアクションでインストール中にインストール先のディレクトリの解凍するようにしました。
コマンドパラメータ↓
x -y -o[SourceDir] [SourceDir]pac\data.7z
しかし、何度もやってみましたが、
アーカイブの中身がインストール先のディレクトリに展開されませんでした。
どうやら、カスタムアクションの[TARGETDIR]プロパティを無視しているようです。
[SourceDir]プロパティは問題なく動いているようですが、なぜでしょうか?
どうすれば定数?で、インストール先のディレクトリを指定できるのでしょうか
問題のソースコード (Wix Editで作成されたもの+α)
xml
1<?xml version="1.0" encoding="utf-8"?> 2<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 3 <Product Id="8C686318-2089-41C2-A5E2-A189514A10D2" Name="TestProgram" Language="1041" Version="1.0.0" Manufacturer="TestProgram" UpgradeCode="FF5E6F91-7741-47EE-96BA-0D1D866FD170"> 4 <Package Description="Test file in a Product" Comments="Simple test" InstallerVersion="200" Compressed="yes" /> 5 <Media Id="1" Cabinet="simple.cab" EmbedCab="yes" /> 6 <Directory Id="TARGETDIR" Name="SourceDir"> 7 <Directory Id="ProgramFilesFolder" Name="PFiles"> 8 <Directory Id="TESTPROGRAM" Name="TestProgram"> 9 <Component Id="TESTPROGRAM.EXE" DiskId="1" Guid="DA034E91-7CE0-4C26-9267-7DB965E42778"> 10 <File Id="TESTPROGRAM.EXE" Name="TestProgram.exe" Source="TestProgram\TestProgram.exe"> 11 <Shortcut Id="desktopShortcut" Directory="DesktopFolder" Name="TestProgram" WorkingDirectory="INSTALLDIR" Advertise="yes" Icon="DesktopIcon.exe" IconIndex="0" /> 12 <Shortcut Id="ExeShortcut" Directory="ProgramMenuDir" Name="TestProgram" Advertise="yes" Icon="StartMenuIcon.exe" IconIndex="0" /> 13 </File> 14 </Component> 15 </Directory> 16 </Directory> 17 <Directory Id="DesktopFolder" /> 18 <Directory Id="ProgramMenuFolder"> 19 <Directory Id="ProgramMenuDir" Name="TestProgram"> 20 <Component Id="StartMenuShortcuts" Guid="29E132A7-2DAB-4E40-8094-0C215BF9EB31"> 21 <RemoveFolder Id="ProgramMenuDir" On="uninstall" /> 22 <RegistryValue Root="HKCU" Key="Software[Manufacturer][ProductName]" Type="string" Value="" /> 23 <Shortcut Id="UninstallProduct" Name="Uninstall" Description="Uninstalls the application" Target="[System64Folder]msiexec.exe" Arguments="/x [ProductCode]" /> 24 </Component> 25 </Directory> 26 </Directory> 27 </Directory> 28 <Feature Id="DefaultFeature" Title="Main Feature" Level="1"> 29 <ComponentRef Id="TESTPROGRAM.EXE" /> 30 <ComponentRef Id="StartMenuShortcuts" /> 31 </Feature> 32 <UI /> 33 <Property Id="WIXUI_INSTALLDIR" Value="TESTPROGRAM" /> 34 <UIRef Id="WixUI_InstallDir" /> 35 <Icon Id="DesktopIcon.exe" SourceFile="TestProgram\TestProgram.exe" /> 36 <Icon Id="StartMenuIcon.exe" SourceFile="TestProgram\TestProgram.exe" /> 37 <Binary Id="sevenz.exe" SourceFile="7z.exe" /> 38 <CustomAction Id="SevenZ" BinaryKey="sevenz.exe" ExeCommand="x -y -o[TARGETDIR] [SourceDir]\data.7z" Return="asyncWait" /> 39 <InstallExecuteSequence> 40 <Custom Action="SevenZ" After="InstallFiles" /> 41 </InstallExecuteSequence> 42 </Product> 43</Wix>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/04/05 23:17
2019/04/06 02:46
退会済みユーザー
2019/04/06 09:34