2011-08-08 42 views
5

我正在处理一个安装程序,它将一些文件放入另一个应用程序,该应用程序将其文件保存在[SystemDrive] \ appName。安装程序仅用于内部自动化,因此如果不考虑其他安装位置,则可以。WiX - 将文件安装到系统驱动器

我发现,默认情况下,WiX将目标目录设置为具有最大可用空间的驱动器。相反,在系统驱动器中指定某个目录的最佳方式是什么?

回答

6

ROOTDRIVE的值设置为驱动你想

<CustomAction Id='SetRootDrive' Property='ROOTDRIVE' Value='[%SystemDrive]\'/> 

系统驱动器将默认在OS中使用

添加代码来调用“SetRootDrive”操作的默认驱动器: 你需要从InstallUISequence中调用它

<InstallUISequence> 
    <Show Dialog="MyWelcomeDlg" Before="CostFinalize">NOT Installed</Show> 
    <!-- App search is what does FindInstallLocation, and it is dependent on FindRelatedProducts --> 
    <AppSearch After="FindRelatedProducts"/> 
    <Custom Action="SetRootDrive" Before="CostInitialize"></Custom> 
</InstallUISequence> 
+0

何时需要安排此自定义操作?我已将它设置为成本初始化之前,它似乎不工作。 –

+0

我在回答中添加了电话 –

+0

非常感谢!这很好! –

3

MSI已经为您提供了WindowsVolum中的值e财产。用它作为父目录/ @ Id。