ピュアウィックスではできないようです。カスタム アクション タイプ 1を使用できます。「LaunchConditions」アクションの前に即時モードで実行します。次のように、wix-code の新しいプロパティのどこかを初期化します。
<Property Id="DIRFROMREG" Value="0" Secure="yes">
C# のサンプルは次のとおりです。
public class CustomActions
{
[CustomAction]
public static ActionResult DirectorySearchAction(Session session)
{
try
{
session.Log("Directory search");
RegistryKey reg = Registry.LocalMachine.OpenSubKey(@"...your subkey...");
if (reg != null)
{
var dir=reg.GetValue("...your value...");
/*
var parentdir= split here your directory
*/
session["DIRFROMREG"] =parentdir;
session.Log(@"directory is ");
}
else
{
session.Log(@"The registry key is not found");
}
}
catch (Exception e)
{
session.Log(@"Error "+e);
}
return ActionResult.Success;
}
}
そして最後に:
<SetProperty Id="INSTALLLOCATION" Value="[DIRFROMREG]" After="Your custom action">NOT DIRFROMREG=0</SetProperty>
お役に立てれば。