以下の単一のコンポーネントを2つのコンポーネントに分割する必要がありますか?WIXベストプラクティスの質問
<Component Id="cmpSoftwareDLL" Guid="8401EA84-0A93-43A5-83D0-472B63418F92" Win64="$(var.MyWin64)">
<File Id="SoftwareDLL" Source="$(var.Software.TargetDir)\..\Release Obfuscated\Software.dll" KeyPath="yes" />
<Class Id="{2593B03A-8833-43EC-8F4F-A71E35CB58E6}" Context="InprocServer32" Description="Software"
ThreadingModel="both" ForeignServer="mscoree.dll">
<ProgId Id="$(var.ProgId)" Description="Software" />
</Class>
<!--Writes to Registry-->
<RegistryValue Root="HKCR" Key="CLSID\{2593B03A-8833-43EC-8F4F-A71E35CB58E6}\Implemented Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}" Value="" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{2593B03A-8833-43EC-8F4F-A71E35CB58E6}\InprocServer32\1.0.0.0" Name="Class" Value="Software.Addin" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{2593B03A-8833-43EC-8F4F-A71E35CB58E6}\InprocServer32\1.0.0.0" Name="Assembly" Value="Software, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{2593B03A-8833-43EC-8F4F-A71E35CB58E6}\InprocServer32\1.0.0.0" Name="RuntimeVersion" Value="v4.0.30319" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{2593B03A-8833-43EC-8F4F-A71E35CB58E6}\InprocServer32\1.0.0.0" Name="CodeBase" Value="file:///[#SoftwareDLL]" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{2593B03A-8833-43EC-8F4F-A71E35CB58E6}\InprocServer32" Name="Class" Value="Software.Addin" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{2593B03A-8833-43EC-8F4F-A71E35CB58E6}\InprocServer32" Name="Assembly" Value="Software, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{2593B03A-8833-43EC-8F4F-A71E35CB58E6}\InprocServer32" Name="RuntimeVersion" Value="v4.0.30319" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{2593B03A-8833-43EC-8F4F-A71E35CB58E6}\InprocServer32" Name="CodeBase" Value="file:///[#SoftwareDLL]" Type="string" Action="write" />
私は、これらのレジストリ設定のいずれかにキーパス= "はい" を含めるべきか?デプロイされているMSIファイルにKeyPath = "yes"を含めることを忘れた場合の結果は何ですか? Windowsアップグレードパスが発生した場合などに削除できますか?
<Component Id="cmpCustomerRegistry" Guid="BD933C43-A40A-4DBA-8645-F5E80F9134F1" Win64="$(var.MyWin64)">
<RegistryKey Root="HKLM" Key="SOFTWARE\Policies\MySoftware">
<RegistryValue Type="integer" Name="Name1" Value =0 />
<RegistryValue Type="string" Name="Name2" Value ="value" />
....
</RegistryKey>
マイケルありがとうございます。理にかなっているようだ。 – John