我想创建一个易于安装的应用程序.安装过程非常复杂(许多权限,防火墙规则,服务等).所以我决定用C#(.net 4)编写安装程序,然后使安装程序本身安装一次点击.
想法是用户会去网站,点击安装,我的安装程序将通过点击一次安装在他们的计算机上,然后它将运行,设置主程序.
为了使这个过程变得简单,我显然必须签署所有可执行文件.我购买了一份Comodo代码签名证书,将其安装在我的证书商店中,并在VS Express 2012中勾选了"签署一次点击清单".我还包括一个运行后的构建步骤
SIGNTOOL.EXE sign /f TrumphurstCodeCertificate.pfx /p <my password> TimeClockSetup.exe
Run Code Online (Sandbox Code Playgroud)
我清理了构建文件夹和部署网站中的所有内容,并运行了一个干净的构建.
我检查了build文件夹中可执行文件的属性,它显示为我发布的.
我将该程序发布到该网站,启动了另一台Windows 8计算机,导航到该网站,然后单击"安装"按钮.
我被提示Do you want to run or save setup.exe,并选择运行.
然后我被提示setup.exe is not commonly downloaded and could harm your computer- 我点击了动作,它说This program might harm your computer.它确实说出版商是特朗普赫斯特有限公司,并且给了我选项,无论如何,我点击了它.
然后我得到了"Open File - Security Warning", for ".....\TimeClockSetup.exe", "Publisher: Unknown Publisher".
exe如何显示Unknown publisher?
我浏览了安装它的用户数据目录中的exe,并且在Properties对话框中没有显示"Digital Signatures"选项卡.
但是,如果我浏览到我的构建文件夹中的exe,它有一个签名.
[稍后]我记得在某处读取构建或发布过程的某些部分使用obj文件夹中的exe文件而不是构建输出文件夹中的文件,所以我添加了签名到post构建步骤 - 它没有区别.
当我在Visual Studio 2012/2013/2015中发布ASP.NET Web应用程序时,默认情况下,Visual Studio还将发布packages.config(来自NuGet)和任何*.edmx.diagram文件(来自Entity Framework).
我知道我可以进入项目并单独将这些文件的属性从Build Action Content切换到Build Action None,但是,我必须为我使用Entity Framework的每个项目或任何其他NuGet提供的包执行此操作.
我可以将发布过程配置为逐个项目地排除文件,但是是否可以在所有项目中全局告诉Visual Studio 2012/2013/2015 排除这些文件?
我正在研究使用Visual Studio 2010进行一键式部署,当前的部署过程涉及压缩IIS文件夹的内容并在完成剩余的手动部署步骤之前备份当前数据库.这允许我们回滚部署,如果不具体,我需要保留此过程的本质.
有没有办法使用MSDeploy实现自动化?
我们有一个ASP.Net MVC3网站,正在使用Web部署在IIS上发布。
在网站根目录下,我们有一个"Data"文件夹,我们将使用该文件夹存储上载的文件及其处理结果。因此,目前有很多文件/文件夹在下面"Site Root/Data"。
Web部署正在尝试在发布时更改ACL权限,在我们的案例中(文件/文件夹很多),它花费的时间超过10分钟。
现在我们正在使用
<includesetaclproviderondestination>False</includesetaclproviderondestination>
Run Code Online (Sandbox Code Playgroud)
完全禁用setacl提供程序,但有时可以方便地通过网络部署更改新添加的目录的权限。
因此,问题是-在这种情况下,除了关闭aclprovider之外,我们还能做什么?有没有一种方法可以通过Web部署以非递归方式设置ACL权限,从而使其更快?
我正在尝试在 IIS 上部署我的 Web 服务。
但是,VS 2012 给我一个错误,因为默认网站使用的应用程序池使用 .NET Framework 2.0。但是,我的需要 .NET Framework 4.0 或更高版本。
因此,当我手动添加另一个 Web 服务时,我分配了支持 .NET Framework 4.0 的不同应用程序池。
我怎样才能自动化它?
我可以在扩展名为pubxml 的设置文件中指定使用我想要的应用程序池吗?
我想将默认网站与不同的应用程序池一起使用,而不是使用默认应用程序池。
谢谢。
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<SiteUrlToLaunchAfterPublish>http://localhost/Manager/ODataManager.svc</SiteUrlToLaunchAfterPublish>
<MSDeployServiceURL>localhost</MSDeployServiceURL>
<DeployIisAppPath>Default Web Site/Manager</DeployIisAppPath> …Run Code Online (Sandbox Code Playgroud) 我正在使用 VS2015 Update 1 尝试一键发布 aspnet 5 vNext MVC 站点。我要发布到的服务器没有真正的证书,因此我收到错误消息:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(386,5):错误:错误代码:ERROR_CERTIFICATE_VALIDATION_FAILED
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(386,5):错误:更多信息:使用指定的进程(“Web 管理服务”),但无法验证服务器的证书。如果您信任服务器,请再次连接并允许不受信任的证书。了解更多信息:http : //go.microsoft.com/fwlink/?LinkId=221672#ERROR_CERTIFICATE_VALIDATION_FAILED。
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(386,5):错误:错误:底层连接已关闭:无法建立信任关系SSL/TLS 安全通道。
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(386,5):错误:错误:根据验证程序,远程证书无效。
根据(相当旧的)链接,我发现我可以通过手动运行 msbuild 命令并传递-allowUntrusted开关轻松地使其工作。但是,我找不到 UI 对话框设置、中的 XML 标记*.pubxml,也*publish.ps1无法在文件中找到使此行为在 Visual Studio 中起作用的好地方。
如何让一键发布忽略我服务器的无效证书?
msbuild oneclick one-click-web-publishing webdeploy visual-studio-2015
我publish to folder通过右键单击项目->发布->发布到文件夹,通过Visual Studio 使用选项。结果始终是具有应用转换的易于复制的项目。我想使用VSTS自动化此过程,并在VSTS上进行设置。
我用下面的步骤:
- NuGet restore
- Build solution
- Publish Build Artifacts到$(build.artifactstagingdirectory)
- Windows machine file copy从$(build.artifactstagingdirectory)使用远程机器admin login和password
最后,我在具有复杂文件夹结构的远程计算机上获得了zip软件包,而根本没有在其中进行任何转换。
怎么了?如何使用VSTS设置与Visual Studio中相同的“发布到文件夹”?
web-publishing one-click-web-publishing continuous-delivery azure-devops azure-pipelines
我正在使用Visual Studio 2015试图发布我的应用程序,但是当我尝试这样做时,我收到错误:
未安装发布所需的Web发布扩展.您可以从http://go.microsoft.com/fwlink/?linkid=208120安装它
我尝试修复Visual Studio并重新安装Azure SDK for VS 2015,但问题仍然存在.我想尝试解决方案张贴在这里,但我没有一个文件夹命名Publish 中C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\
关于什么可能是问题的任何想法?我在SO中发现了很多关于这个问题的帖子,但是当没有任何文件夹命名时找不到任何解决方案Publish.我在Windows 10上.
有人知道VS 2010一键式Web发布设置的存储位置吗?
团队可以共享设置真是太棒了,所以快速部署到测试系统总是点击一下按钮.
在我的web.config文件中,有以下条目:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<machineKey validationKey="656....9CCF" decryptionKey="9020.....659" validation="SHA1" decryption="AES" />
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我需要使用网络配置转换方法在某些网络发布配置文件下交换validationKey和decryptionKey值。但是,我很挣扎,因为除了基本的连接字符串交换之类的东西,我找不到任何其他例子能达到更多的目的。
是否可以使用config转换实际修改文件的这一部分?
到目前为止,当我预览转换时,我的尝试尚未得到认可...
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<machineKey validationKey="AE3E7...FAB49" decryptionKey="ADS32....32423twe" xdt:Transform="Replace" xdt:Locator="Match(validationKey)" />
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud) asp.net visual-studio one-click-web-publishing visual-studio-2015
asp.net ×2
msbuild ×2
acl ×1
azure ×1
azure-devops ×1
c# ×1
code-signing ×1
deployment ×1
iis ×1
msdeploy ×1
oneclick ×1
wcf ×1
webdeploy ×1