首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSI安装程序,64位操作系统,写入\windows\system32\inetsrv文件夹

MSI安装程序,64位操作系统,写入\windows\system32\inetsrv文件夹
EN

Stack Overflow用户
提问于 2009-08-28 16:49:36
回答 3查看 5.2K关注 0票数 3

在64位的Windows Server2008中,我需要一个.msi安装程序文件来将一些文件写入\windows\system32\inetsrv文件夹。(这些文件是C# XmlReaderSettings.Schema.Add()期望位于该文件夹中的一些XML Schema验证文件)。

当安装程序运行时,文件最终位于\windows\SysWOW64\inetsrv文件夹中,而不是它们需要的位置。

我试图让安装程序写入\windows\Sysnative文件夹,然后安装程序创建了一个具有该名称的文件夹,这是我没想到的。有关抑制SysWOW64重定向的讨论,请参阅this page

我应该如何让.msi将我的文件写入64位Windows2008中的\ Windows \system32\inetsrv文件夹?

EN

回答 3

Stack Overflow用户

发布于 2009-08-28 17:01:28

以下是您可以使用的system folder properties。我知道这是违反直觉的,但你有没有尝试过System64Folder(http://msdn.microsoft.com/en-us/library/aa372054(VS.85%29.aspx)?阅读备注。

如果这不起作用,可以尝试将System32附加到WindowsFolder的末尾。

Edit-1:尝试设置Win64 attribute on your Component元素,看看重定向行为是否发生了变化。

票数 2
EN

Stack Overflow用户

发布于 2011-10-04 17:20:34

我尝试在wxs文件中使用Sysnative,但我得到了相同的结果:在Windows下创建一个Sysnative文件夹,而不是使用System32。因此,我在vbscript CA中使用了Sysnative :找到Windows文件夹(&H24&)并附加\Sysnative。这是可行的,但在卸载过程中需要第二个CA来删除文件。

票数 1
EN

Stack Overflow用户

发布于 2009-09-17 19:24:42

我通过将文件写入\windows而不是\windows\system32解决了我的问题。事实证明,C# XmlReaderSettings.Schema.Add()将使用\windows目录下的完全限定路径工作。如果提供的路径不是完全限定的,它只会默认到system32文件夹。

这并不是对这个问题的真正回答,但它是我迫切需要的一个变通办法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1348217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档