2017-05-02 7 views
0

私はWiXインストーラMSIを作成しました。 msiを実行すると、インストールパスがUIで尋ねられます。現在、ほとんどの空き領域を含むドライブがロードされます。プログラムファイルフォルダに常時設定するにはどうすればいいですか?私は以下の行を試したが、うまくいかなかった。uiからプログラムファイルへのWiX Msiインストールパスのデフォルト値の設定方法は?

<Property Id="WIXUI_INSTALLDIR" Value="C:\\Program Files\" /> 

以下は、上記の要素のエラーです。

The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2343. The arguments are: , , 

UIを常にデフォルトの場所としてC:\ Program Filesにロードできるようにするにはどうすればよいですか?どんな助けでも大歓迎です。

答えて

2

すでに定義されているwindows installer propertiesを使用したい場合は、Windowsインストーラで常に定義されています(一部の64ビットのみのプロパティに注意してください)。この場合、具体的ProgramFilesFolder

は、このようなディレクトリの定義を使用してみてください:

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Fragment> 
     <Directory Id="TARGETDIR" Name="SourceDir"> 
      <Directory Id="ProgramFilesFolder"> 
       <Directory Id="INSTALLDIR" Name="MyProductFolder" /> 
      </Directory> 
     </Directory> 
    </Fragment> 
</Wix> 

そして、あなたが

をしたいだろう程度 using WixUI_InstallDir

この簡単なチュートリアルページと同じプリンシパルを次

<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" /> 

ここで、インストール場所を変更できるUIページを表示すると、値はサイドノートとして

、私は場所をインストールすることを避けるのと同じ C:\プログラムファイル、それはあなたが彼らは代わりに、製品に含まれるべきこの場所に無関係なファイルのトンを追加する原因となりますので/ programフォルダー。

また、 "C:\ Program Files \"のようなパスを絶対にハードコーディングしないでください。この具体的なケースでは、私はあなたに2つの簡単な例を挙げることができます。ユーザーがC:\ドライブをメインドライブとして使用していることや、C:\ドライブを使用しているという保証はありません(hereの1つの逸話)。 Program Filesの場所にインストールする32-bitマシンではなく、 "Program Files(x86)"の場所にインストールする64ビットマシンにもう1つ問題があります(32ビットインストールの場合)。 。

関連する問題