使用wix安装到common templates文件夹

问题描述 投票:1回答:2

在Windows安装程序提供的System Folder Properties列表中,我看到一个TemplateFolder,它是“当前用户的Template文件夹的完整路径”。所以我可以使用TemplateFolder作为wix中的目录ID来安装用户特定的模板。

但是,我需要安装到公共模板文件夹,即在Windows API中称为CSIDL_COMMON_TEMPLATES(也是FOLDERID_CommonTemplates)的文件夹。 Windows安装程序似乎没有为此提供系统文件夹属性。

如何使用wix将文件安装到公共模板文件夹?

wix windows-installer
2个回答
1
投票

MSDN documentation告诉我们“TemplateFolder”-ID它取决于安装上下文是否是“所有用户的Templates文件夹的完整路径”(每台机器)或“当前模板文件夹的完整路径”用户“(每用户)。


0
投票

我最终定义了像这样的COMMONTEMPLATEFOLDER

<DirectoryRef Id='TARGETDIR'>
  <Directory Id='COMMONTEMPLATEFOLDER' Name='Templates' />
</DirectoryRef>

<Property Id="COMMONTEMPLATEFOLDER">
   <RegistrySearch Id="searchCommonTemplateFolder"
      Root="HKLM"
      Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
      Name="Common Templates"
  Type="raw" />
</Property>

这似乎工作正常,但不幸的是它依赖于undocumented registry entries。我仍然想找到一个更好的方法。

© www.soinside.com 2019 - 2024. All rights reserved.