Visual studio Outlook加载项MSI安装程序以C语言复制文件:\
我开发了一个Outlook addin,它与我的Outlook完美配合。我使用了我们的组织代码签名证书和ClickOnce。现在我想把它部署在一小群机器上(试点)。我跟着创建了一个MSI。这里的问题是,我双击setup.msi,它会将所有文件复制到C:\。但是当我以管理员的身份运行它时,它会将文件复制到正确的位置。下面是我从msi日志文件中得到的信息Visual studio Outlook加载项MSI安装程序以C语言复制文件:\,visual-studio,windows-installer,vsto,outlook-addin,visual-studio-setup-proje,Visual Studio,Windows Installer,Vsto,Outlook Addin,Visual Studio Setup Proje,我开发了一个Outlook addin,它与我的Outlook完美配合。我使用了我们的组织代码签名证书和ClickOnce。现在我想把它部署在一小群机器上(试点)。我跟着创建了一个MSI。这里的问题是,我双击setup.msi,它会将所有文件复制到C:\。但是当我以管理员的身份运行它时,它会将文件复制到正确的位置。下面是我从msi日志文件中得到的信息 MSI (s) (84:FC) [13:43:15:553]: Ignoring disallowed property TARGETDIR MS
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:\'.
我做错了什么?看起来您需要更改安装程序的目标文件夹。您很可能选择了一个需要管理员权限才能写入的文件夹
您可能会发现这篇文章很有帮助。对于Visual Studio安装项目,主要原因是安装用户没有管理员权限,您似乎已经发现了这一点。当用户没有特权时,这些VS安装项目将切换到每个用户的非提升安装。除其他外,这意味着安装无法在受限位置(Program files文件夹和其他)创建文件和文件夹,因此安装将在C:中提供单独的独立安装。VS设置项目中的ALLUSERS值为2,如本文所述: 如果用户没有权限,则可以获得每个用户的非提升安装。Windows不会让有限的用户仅仅因为它是一个安装程序就向有限的位置写入数据 。VisualStudio安装项目功能实际上只适用于非常简单的应用程序。