通过 HTTP 执行位于共享上的 ClickOnce 应用程序?
-
13-09-2019 - |
题
我有一个部署在网络共享上的 ClickOnce 应用程序(仅限在线)。人们可以通过创建快捷方式来运行该应用程序
i:\ApplicationDirectory\ApplicationName.application
在哪里 i
是网络共享的驱动器盘符。
我想通过 HTTP 启动应用程序。为此,我需要可以通过我的网络服务器访问 .Application 文件。但是我无法选择 ApplicationDirectory 作为 IIS 的虚拟目录。我尝试将 .Application 文件复制到虚拟 IIS 路径,但这会导致部署损坏(我还更新了 .Application 文件中的 application_files 引用)。 是否有(其他)方法通过 HTTP 启动部署在网络共享上的 ClickOnce 应用程序?
解决方案
- 首先找到您的 ClickonceKey.pfx,换句话说,用于签署程序集的密钥。
- 然后找到 mage.exe,这是用于签署清单的实用程序,它是 .NET Framework SDK 的一部分。对于 VS2005,可以在 %ProgramFiles%\Microsoft Visual Studio 8\SDK\v2.0\Bin 中找到。
- 然后创建一个批处理文件来执行mage.exe。
- 然后将网络共享部署文件夹的内容复制到 Web 服务器上的新虚拟目录。
- 最后,运行批处理文件。
批处理文件应如下所示:
mage.exe
-update >>path to your application manifest in the virtual directory<<
-providerurl >>location of application manifest virtual directory<<
-certfile Clickoncekey.pfx -password >>your password<<
不隶属于 StackOverflow