我在Windows资源管理器中连接到我的WebDAV服务器\\myserver@8080\DavWWWRoot\.我DavWWWRoot在我的存储器或WebDAV服务器后端代码中找不到我的服务器上调用的任何文件夹.这DavWWWRoot是从哪里来的?
这适用于VS2010和VS2012.但是在VS2013应用程序中(按"运行"或F5)只是以我的用户权限开始,无法访问某些资源(我正在使用HttpListener).
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
Run Code Online (Sandbox Code Playgroud)
我试图谷歌,试图生成新的清单,从MSDN复制它的内容,但没有任何帮助.在VS2013的这一部分有什么变化吗?
Update1:
那是一个部分.这是完整的清单内容:
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application></application>
</compatibility>
</asmv1:assembly>
Run Code Online (Sandbox Code Playgroud)
Update2:
这里的Okey是一个简单的例子:当我运行编译的.exe文件时,UAC要求管理员权限.但是当我从VS2013运行它时(通过按"运行"或F5)它不会!如果您使用VS2012/VS2010打开相同的项目,他们会要求在管理员下重新启动.
您可以快速检查:
在VS2013中创建控制台应用程序,添加清单并设置level ="requireAdministrator".然后运行或按F5(按Ctrl-F5时VS2013在admin下运行应用程序).
但这不是VS2012/VS2010的行为!
我们怎样才能得到旧的行为? …
我需要根据VS2010_IDE_VWD_PROJECTSYSTEM_INSTALLED属性值向用户显示警告消息(而不是条件消息).这是一个简单的例子:
{some files added}
...
<PropertyRef Id="VS2010_IDE_VWD_PROJECTSYSTEM_INSTALLED" />
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
<UIRef Id="WixUI_InstallDir" />
<UI Id="CheckStudio">
<Dialog Id="StudioDlg" Width="260" Height="75" Title="Hello" NoMinimize="yes" >
<Control Id="Message" Type="Text" X="10" Y="10" Width="240" Height="40" Text="There is a problem." />
<Control Id="Return" Type="PushButton" X="110" Y="52" Width="50" Height="17" Default="yes" Cancel="yes" Text="&OK">
<Publish Event="EndDialog" Value="Return">1</Publish>
</Control>
</Dialog>
<InstallUISequence>
<Show Dialog="StudioDlg" Sequence="1" >
<![CDATA[Installed OR VS2010_IDE_VWD_PROJECTSYSTEM_INSTALLED]]>
</Show>
</InstallUISequence>
</UI>
Run Code Online (Sandbox Code Playgroud)
我尝试了以下条件:
VS2010_IDE_VWD_PROJECTSYSTEM_INSTALLED<>""
VS2010_IDE_VWD_PROJECTSYSTEM_INSTALLED<>"0"
VS2010_IDE_VWD_PROJECTSYSTEM_INSTALLED<>"{value}"
Run Code Online (Sandbox Code Playgroud)
但没有任何帮助.在我的两台机器上(一个安装了VS,另一个安装了),对话框同时出现(但应该只在第一个上).我确实做了一个日志,它显示只有在第一台机器上这个属性有一个值.在这种情况下应该使用这些属性(表示某些东西)吗?也许有另一种方式?
我需要知道在用户计算机上安装的MS Office 2013是否使用特定的方式打开办公文档进行网站编辑.
也许有一些针对Office 2013的插件/ activex?
我试图找出Sharepoint如何完成这项任务,但它太棘手了:
this.IsProtocolHandlerEnabled = function(d) {
if (IsStrNullOrEmpty(d))
return false;
if (b[d] != null)
return b[d];
if (c)
return a;
...
Run Code Online (Sandbox Code Playgroud)
如果办公室2013可用,则'a'等于'true',否则为'false',但我找不到变量'a'被更改的位置.