1

次のエラーが表示されます。

セクション 'Product:* のシンボル 'Directory:SQLSERVERDATAPATH' への未解決の参照

<Property Id="SQLSERVERINSTANCENAME" >
  <RegistrySearch Id="SqlServerInstanceName" Root="HKLM" Key="SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" Name="MSSQLSERVER" Type="raw"/>
</Property>

<Property Id="SQLSERVERDATAPATH" >
  <RegistrySearch Id="SqlServerDataPath" Root="HKLM" Key="SOFTWARE\Microsoft\Microsoft SQL Server\[SQLSERVERINSTANCENAME]\Setup" Name="SQLDataRoot" Type="raw"/>
</Property>

<DirectoryRef Id="SomeFolder">
      <Component Id="MDFFileCopyComponent" Guid="4A002555-D939-4DC9-8C23-62747C2BA905">
        <!--<RemoveFile Id="DatabaseFileRemove" Name="MyFile" On="install" Directory="MyCopyDir" />-->
        <CopyFile Id="MDFFileCopy" FileId="MDF" DestinationDirectory="SQLSERVERDATAPATH" />
      </Component>
      <Component Id="LDFFileCopyComponent" Guid="4A002555-D939-4DC9-8C23-62747C2BA905">
        <!--<RemoveFile Id="DatabaseFileRemove" Name="MyFile" On="install" Directory="MyCopyDir" />-->
        <CopyFile Id="LDFFileCopy" FileId="LDF" DestinationDirectory="SQLSERVERDATAPATH" />
      </Component>
</DirectoryRef>

更新しました:

<DirectoryRef Id="SomeFolder">
  <Component Id="cmpMDF" Guid="066AFD32-D9B4-42A9-AEE1-F1951DAE959F">
    <File Id="MDF" Name="Database.MDF" Source="DatabaseScripts/Database/Database.MDF" KeyPath="yes" ReadOnly="no">
      <CopyFile Id="MDFFileCopy" DestinationProperty="SQLSERVERDATAPATH" />
    </File>
  </Component>
  <Component Id="cmpLDF" Guid="311283B0-A6E8-402D-BB33-D1BEB6EA282B">
    <File Id="LDF" Name="Database.LDF" Source="DatabaseScripts/Database/Database.LDF" KeyPath="yes" ReadOnly="no">
      <CopyFile Id="LDFFileCopy" DestinationProperty="SQLSERVERDATAPATH" />
    </File>
  </Component>
</DirectoryRef>

ログ:

MSI (s) (18:BC) [13:42:32:002]: op を実行しています: FileCopy(SourceName=Database.MDF,SourceCabKey=MDF,DestName=Database.MDF,Attributes=512,FileSize=1178468352,PerTick= 32768,,VerifyMedia=1,,,,,CheckCRC=0,,,InstallMode=58982400,HashOptions=0,HashPart1=-67171634,HashPart2=622189464,HashPart3=-328220288,HashPart4=-1777642375,,)

MSI (s) (18:BC) [13:42:32:006]: ファイル: C:\Program Files\MyApp\Database\Database.MDF; インストールする; パッチを適用しません。既存のファイルがありません

MSI (s) (18:BC) [13:42:32:009]: ファイル 'MDF' のソースは圧縮されています InstallFiles: ファイル: Database.MDF、ディレクトリ: C:\Program Files\MyApp\Database\、サイズ: 1178468352

MSI (s) (18:BC) [13:42:32:015]: 注: 1: 2318 2: C:\Program Files\MyApp\Database\Database.MDF

MSI (秒) (18:BC) [13:42:32:034]: 注: 1: 2360

4

1 に答える 1

0

in your <CopyFile>you includeDestinationDirectory="SQLSERVERDATAPATH" つまり、どこかに<Directory>withも必要です。id="SQLSERVERDATAPATH"

DestinationProperty="SQLSERVERDATAPATH"編集:代わりに使用したいようです。http://wix.sourceforge.net/manual-wix2/wix_xsd_copyfile.htmを参照してください。

于 2012-08-04T20:46:14.203 に答える