2017-09-12 17 views
0

非常に基本的なWiXセットアップを実行してmsiファイルを作成する方法に関する簡単なYouTubeの指示ビデオに続きました。 特定のディレクトリに特定のファイルを配置し、4つのレジストリエントリを作成することを目的としています。私はVS 2015に組み込まれたセットアッププロジェクトでこれを行いました。しかし、WiXプロジェクトは機能しません。これは私の初めてのXML作業です。私は、フォルダにファイルを入れWiX Project VS 2015ディレクトリが作成されていません

ここ
<Fragment> 
<Directory Id="ProgramFilesFolder" Name="Programfiles"> 
    <Directory Id="MSOFFICEFOLDER" Name="Microsoft Office"> 
     <Directory Id="OFFICE14FOLDER" Name="Office14" /> 
     <Directory Id="LIBRARY" Name="Library"> 
     <Directory Id="MAKRO" Name="Makro">     
     </Directory> 
     </Directory> 
    </Directory> 
     </Directory> 
</Fragment> 

<!-- Adding files to Office14 folders --> 
<Fragment> 
    <DirectoryRef Id="OFFICE14FOLDER"> 
    <Component Id="umrch.hlp" Guid="*"> 
     <File Id="umrch.hlp" Source="MySourceFiles\UMRCH.HLP" KeyPath="yes" 
Checksum="yes"/> 
    </Component> 
    </DirectoryRef> 

    <DirectoryRef Id="LIBRARY"> 
    <Component Id="umrch.xla" Guid="*"> 
     <File Id="umrch.xla" Source="MySourceFiles\umrch.xla" KeyPath="yes" 
Checksum="yes"/> 
    </Component> 
    </DirectoryRef> 

    <DirectoryRef Id="MAKRO"> 
    <Component Id="umrch.xla" Guid="*"> 
     <File Id="umrch.xla" Source="MySourceFiles\umrch.xla" KeyPath="yes" 
Checksum="yes"/> 
    </Component> 
    </DirectoryRef> 


    <!-- Adding files to Company folders--> 
    <DirectoryRef Id="DATA"> 
    <Component Id="DATAfiles" Guid="*"> 
     <File Id="defumrch.dat" Source="MySourceFiles\defumrch.dat" 
KeyPath="yes" Checksum="yes"/> 
     <File Id="LL_UMRCH.DAT" Source="MySourceFiles\LL_UMRCH.DAT" 
KeyPath="no" Checksum="yes"/> 
    </Component> 
    </DirectoryRef> 

    <DirectoryRef Id="VERSION"> 
    <Component Id="VERSIONfiles" Guid="*"> 
     <File Id="umrch_Readme.doc" Source="MySourceFiles\umrch_Readme.doc" 
KeyPath="yes" Checksum="yes"/> 
     <File Id="umrch_Version.txt" Source="MySourceFiles\umrch_Version.txt" 
KeyPath="no" Checksum="yes"/> 
    </Component> 
    </DirectoryRef> 


    <!-- Adding files to Windows folder--> 
    <DirectoryRef Id="WindowsFolder"> 
    <Component Id="WINDOWSfiles" Guid=""> 
    <File Id="umrch.dll" Source="MySourceFiles\umrch.dll" KeyPath="yes" 
Checksum="yes"/> 
     <File Id="umrch.lib" Source="MySourceFiles\umrch.lib" KeyPath="no" 
Checksum="yes"/> 
     <File Id="umrch.mif" Source="MySourceFiles\umrch.mif" KeyPath="no" 
Checksum="yes"/> 
    </Component> 
    </DirectoryRef> 
</Fragment> 

をそしてここで、彼らはインストールする必要があります。

<Fragment> 
    <!-- Tell WiX to install the files --> 
    <Feature Id="xlahelp" Title="XLA and help files" Level="1"> 
    <ComponentRef Id="umrch.hlp" /> 
    <ComponentRef Id="umrch.xla" /> 
    </Feature> 

    <Feature Id="COMPANYfiles" Title="Company files" Level="1"> 
    <ComponentRef Id="DATAfiles" /> 
    <ComponentRef Id="VERSIONfiles" /> 
    </Feature> 

    <Feature Id="WindowsFiles" Title="Windows files" Level="1"> 
    <ComponentRef Id="WINDOWSfiles" /> 
    </Feature> 

    <Feature Id="Registry" Title="umrch" Level="1"> 
    <ComponentGroupRef Id="Registry"/> 
    </Feature> 
</Fragment> 

は例えば、ここで私は、ディレクトリを定義しましたいくつかの参照がないか、誤ってXMLを使用しましたか?

編集:ここでは製品のWiXのである

<Product Id="*" Name="UMRCH" Language="1033" Version="1.0.0.0" Manufacturer="Sample" UpgradeCode="ee45fb60-6741-4424-8136-dfc0d679629a"> 
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" /> 

    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> 
    <MediaTemplate /> 


</Product> 

スタインÅsmulの編集:

DATAおよびVERSIONは、ここで定義する必要があります。

<Fragment> 
<Directory Id="WindowsVolume" Name="WindowsVolume"> 
    <Directory Id="!(bind.property.Manufacturer)" Name="!(bind.property.Manufacturer)"> 
    <Directory Id="UMRCH" Name="!(bind.property.ProductName)" /> 
     <Directory Id="DATA" Name="data"> 
     <Directory Id="VERSION" Name="version" /> 
     </Directory> 
    </Directory> 
    </Directory> 

また、コンパイルありませんWiXを使用する場合。 .msiファイルは、エラーが発生することなく構築されます。 SuperOrcaで開くと、_Validationというタブが表示されます。これは非常に新しいので、Orca内の.msiの読み方についてはわかりません。

また、視認性を高めるためにgithubに要点を追加しました。

Product/Registry

+0

あなたの「」を定義するwxsを指定することはできますか?あなたが作成したフラグメント(最終的に ''で参照される)を正しく参照しないと、コンパイル時にすべてが破棄されます。 –

+0

オリジナルの投稿を更新しました! – coltfinger

+0

WiXソース全体を表示するだけで、簡単にコピーして貼り付けることができます。 – PhilDW

答えて

0

のWiXを使用している場合、このファイルは、すべてコンパイルしていますか?あなたがインストールするディレクトリのいくつかを定義していないようです。例えばDATAとVERSIONです。出力MSIファイルを取得した場合、Orcaで開くとどのように見えますか? MSIで検証を実行しましたか?

あなたの質問をさらに詳細に更新したら、私はこの回答を「進化させる」でしょう。 「議論」のためのコメントの使用を最小限に抑えようとしましょう。

+0

オリジナルの投稿を更新しました! – coltfinger

関連する問題