2012-06-30 57 views
1

在由Windows安裝程序提供System Folder Properties列表中,我看到一個TemplateFolder這是「爲當前用戶模板文件夾完整路徑」。所以我可以使用TemplateFolder作爲wix中的目錄ID來安裝用戶特定的模板。安裝到普通模板文件夾威克斯

然而,我需要安裝到共同模板文件夾,即一個稱爲CSIDL_COMMON_TEMPLATES在windows API(也FOLDERID_CommonTemplates)。 Windows安裝程序似乎沒有爲此提供系統文件夾屬性。

如何使用wix將文件安裝到通用模板文件夾?

回答

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。我仍然想找到更好的方法。

1

MSDN documentation告訴我們的「TemplateFolder」 -ID,它取決於安裝方面無論是「爲所有用戶模板文件夾的完整路徑」(每機)或「完整路徑當前用戶的Templates文件夾「(每個用戶)。

+0

雖然此鏈接可能回答問題,但最好在此處包含答案的基本部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 –

+0

@AdrianCidAlmaguer:它確實包含了必要的部分。 –

+0

@NathanTuggy謝謝 –