5

msiインストーラーが実行されている場所を見つける方法を教えてください。

たとえばSample.msi、デスクトップの InstallerExample フォルダに自分の and Manuals フォルダがあります。

以下に示すように、File/@Source で使用できるように、この情報が必要です。

<File Id="MyFileId" Name="MyFile" Source="[SourceDir]Manuals" KeyPath="yes" >

SourceDir価値があるはずですC:\Users\bla\Desktop\InstallerExample\Manuals

誰かが私を助けてくれれば、それは素晴らしいことです。

4

1 に答える 1

2

カスタムアクションでMSIがあった場所からファイルを読み取る必要があるのと同じ問題が発生したため、パスが必要でした。私はそれを使用してそれを見つけることができました

TARGETDIR

MSDNのドキュメントによると、TARGETDIRは

the root destination directory for the installation

また、MSDNによると、SourceDirは

the root directory that contains the source cabinet file or the source file tree of the installation package

したがって、SourceDirプロパティは、実際のディレクトリ(MSIファイルが置かれているディレクトリ)を指します。これは、msiexec/lvx*installer.loginstaller.msiを使用してインストールするときにインストーラーログで確認できます。

ただし、何らかの理由で、TARGETDIRを解決するときにSourceDirは完全に無視されます。TARGETDIRは、明示的に(たとえば、コマンドラインで)設定する必要があります。そうでない場合は、ROOTDRIVEに解決されます。ROOTDRIVEが明示的に設定されていない場合、それは最も空き容量のあるドライブのルートです。

于 2012-08-15T14:05:58.700 に答える