Outlook Addin MSI 安装程序将文件复制到 C:\

Outlook Addin MSI installer copies file in C:\

我开发了一个与我的 outlook 完美配合的 Outlook 插件。我使用了我们的组织代码签名证书并使用了 ClickOnce。现在我想将它部署在一小组机器上(试验)。我按照 this 创建了一个 MSI。这里的问题是它将所有文件复制到 C:\,我双击 setup.msi。但是当我 运行 它作为管理员时,它会将文件复制到正确的位置。以下是我从 msi 日志文件中得到的内容。

MSI (s) (84:FC) [13:43:15:553]: Ignoring disallowed property TARGETDIR
MSI (s) (84:FC) [13:43:15:964]: PROPERTY CHANGE: Adding TARGETDIR property. Its value is 'C:\'.

我做错了什么?

看来您需要更改安装程序的目标文件夹。很可能您选择了一个需要管理员权限才能写入的文件夹。

您可能会发现 Deploy an Office solution by using Windows Installer 文章有帮助。

使用 Visual Studio 安装项目的主要原因是安装用户没有管理员权限,正如您似乎已经发现的那样。当用户没有特权时,这些 VS 安装项目会切换到每用户非提升安装。除其他事项外,这意味着安装无法在受限位置(Program Files 文件夹等)创建文件和文件夹,因此安装会在 C: 中为您提供单独的隔离安装。 VS 安装项目中的 ALLUSERS 值为 2,正如此处的文档所述:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa367559(v=vs.85).aspx

如果用户没有特权,您可以获得每用户非提升安装。 Windows 不会让有限的用户仅仅因为它是一个安装就写入受限的位置。