Visual Studio安装项目以目标Public Documents文件夹

时间:2017-04-08 16:25:00

标签: c# windows-installer vsto visual-studio-2017 setup-deployment

我使用Microsoft团队的扩展程序Visual Visual Studio 2017 Installer Projects为Visual Studio的桌面应用程序创建MSI安装程序。我已经成功创建了一个SetUp项目并在SetUp项目的File System Editor中设置了所有必要的属性(Short Cut to dekstop,Program File' s菜单等)。安装程序需要将XML文件部署到目标计算机上的Public Documents文件夹。 问题:如何定位安装程序将安装应用程序的用户计算机上的公共文档文件夹?

后台:此安装程序是为MS Office VSTO Add-In for WORD构建的,它的部署是通过Windows Installer(而不是通过ClickOnce)完成的。根据许可管理系统,他们的XML配置文件需要部署到不是我们的加载项目录的应用程序目录,而是加载加载项的应用程序目录。在这种情况下,XML文件的推荐位置是公用文件夹,例如Vista和更高版本Windows上的Public Documents文件夹。

1 个答案:

答案 0 :(得分:0)

我刚刚点击了VS2017安装程序项目的UI。我没有看到指定公共文档文件夹的方法。您可以添加用户定义的文件夹(右键单击"文件系统">添加特殊文件夹>用户定义的文件夹),但它仅限于predefined properties of Windows Installer,但不限于CommonAppDataFolder包括公共文档文件夹。

如果您只需要安装到公共文件夹中但不要求将其作为公共文档文件夹,则可以使用SHGetKnownFolderPath(FOLDERID_PublicDocuments,...)作为替代方法。为用户定义文件夹的DefaultLocation指定。

否则,您可能会编写一个调用tutorial for writing a VB custom action的自定义操作,并将结果分配给属性。然后为用户定义文件夹的DefaultLocation指定该属性。这是安装程序项目的WiX toolset

虽然我强烈建议完全摆脱安装程序项目并使用WIX_DIR_COMMON_DOCUMENTS代替,这提供了更大的灵活性。它还带有一个很好的Visual Studio扩展。 WiX已经定义了初始化为公共文档文件夹路径的属性Example。 {{3}}