为 Windows 应用程序创建 Windows 安装程序包 (Infragistics + MS Office Automation)
我需要为使用 Infragistics 控制库和办公自动化的 Windows 应用程序创建一个 Windows 安装程序。到目前为止,Visual Studio ClickOnce 安装还没有成功。
所以我创建了一个安装部署项目并且工作正常。但我需要向安装程序添加更新功能。
是否有支持我的要求的开源安装程序?或者我怎样才能让 ClickOnce 工作?
单击一次错误
平台版本信息 Windows:6.1.7601.65536 (Win32NT) 常见 语言运行时:4.0.30319.239 System.Deployment.dll: 4.0.30319.1 (RTMRel.030319-0100) clr.dll: 4.0.30319.239 (RTMGDR.030319-2300) dfdll.dll: 4.0.30319.1 (RTMRel.030319-0100) dfshim.dll:4.0.31106.0(Main.031106-0000)
来源部署网址:http:///jcms.application 服务器:微软-IIS/7.5 X-Powered-By : ASP.NET 部署提供商 url : http:///jcms.application 应用程序 url : http:///Application%20Files/jcms_1_0_0_13/jcms.exe.manifest 服务器:微软-IIS/7.5 X-Powered-By:ASP.NET
身份部署身份:jcms.application,版本=1.0.0.13, 文化=中立,PublicKeyToken=94e3b9e83a371fb3, handlerArchitecture=msil 应用程序标识:jcms.exe, 版本=1.0.0.13,文化=中性,PublicKeyToken=94e3b9e83a371fb3, 处理器架构=msil,类型=win32
应用程序摘要 * 可安装的应用程序。
错误摘要以下是错误摘要以及这些错误的详细信息 错误稍后会在日志中列出。 * 激活 http:///jcms.application 导致异常。下列的 检测到失败消息: + 值不在范围内 预期范围。
组件存储交易失败摘要没有发生交易错误 检测到。
警告 在此操作期间没有警告。
操作进度状态 * [1/26/2012 6:09:13 PM]:激活 http:///jcms.application 已启动。 * [1/26/2012 6:09:18 下午] :部署清单的处理已成功完成。 * [1/26/2012 6:09:18 PM] :应用程序的安装已开始。 * [1/26/2012 6:09:18 PM] :应用程序清单的处理已 成功完成。 * [1/26/2012 6:09:20 PM] : 发现兼容 运行时版本 2.0.50727。 * [1/26/2012 6:09:20 PM] : 检测 依赖程序集Sentinel.v3.5Client,版本=3.5.0.0, 文化=中立,PublicKeyToken=b03f5f7f11d50a3a, 使用 Sentinel.v3.5Client 的处理器架构=msil,版本=3.5.0.0, 文化=中立,PublicKeyToken=b03f5f7f11d50a3a, 处理器架构=msil. * [1/26/2012 6:09:20 PM] : 检测 依赖程序集System.Data.Entity,版本=3.5.0.0, 文化=中立,PublicKeyToken=b77a5c561934e089, 使用System.Data.Entity的processorArchitecture=msil,版本=3.5.0.0, 文化=中立,PublicKeyToken=b77a5c561934e089, 处理器架构=msil. * [1/26/2012 6:09:20 PM] : 检测 依赖程序集 WindowsBase,版本=3.0.0.0,文化=中性, PublicKeyToken=31bf3856ad364e35,processorArchitecture=msil 使用 WindowsBase,版本=3.0.0.0,文化=中性, PublicKeyToken=31bf3856ad364e35,处理器架构=msil。 * [1/26/2012 6:09:20 PM] :检测依赖程序集 Microsoft.Vbe.Interop,版本=14.0.0.0,文化=中性, PublicKeyToken=71E9BCE111E9429C,processorArchitecture=msil 使用 Microsoft.Vbe.Interop,版本=14.0.0.0,文化=中性, PublicKeyToken=71e9bce111e9429c,处理器架构=msil。 * [1/26/2012 6:09:20 PM]:检测依赖程序集 Microsoft.Ink, 版本=6.1.0.0,文化=中性,PublicKeyToken=31BF3856AD364E35, 使用 Microsoft.Ink 的处理器架构 = x86,版本 = 6.1.0.0, 文化=中性,PublicKeyToken=31bf3856ad364e35, 处理器架构=x86。 * [1/26/2012 6:09:20 PM] : 检测 依赖程序集 Microsoft.Office.Interop.Word,版本=14.0.0.0, 文化=中立,PublicKeyToken=71E9BCE111E9429C, 使用Microsoft.Office.Interop.Word的processorArchitecture=msil, 版本=14.0.0.0,文化=中性,PublicKeyToken=71e9bce111e9429c, 处理器架构=msil. * [1/26/2012 6:09:20 PM] : 检测 依赖程序集System.Core,版本=3.5.0.0,文化=中性, PublicKeyToken=b77a5c561934e089,processorArchitecture=msil 使用 System.Core,版本=3.5.0.0,文化=中性, PublicKeyToken=b77a5c561934e089,处理器架构=msil。 * [1/26/2012 6:09:20 PM] :检测依赖程序集 System.Data.Entity,版本=3.5.0.0,文化=中性, PublicKeyToken=b77a5c561934e089,processorArchitecture=msil 使用 System.Data.Entity,版本=3.5.0.0,文化=中性, PublicKeyToken=b77a5c561934e089,处理器架构=msil。 * [1/26/2012 6:09:20 PM] : 平台信任和检测请求为 完成。
错误详细信息 在此操作期间检测到以下错误。 * [1/26/2012 6:09:21 PM] System.ArgumentException - 值未落在预期范围内。 - 来源:System.Deployment - 堆栈跟踪:位于 System.Deployment.Internal.Isolation.IStore.LockApplicationPath(UInt32 Flags、IDefinitionAppId ApId、IntPtr&饼干)在 System.Deployment.Application.ComponentStore.LockApplicationPath(DefinitionAppId 定义AppId)位于 System.Deployment.Application.SubscriptionStore.LockApplicationPath(DefinitionAppId 定义AppId)位于 System.Deployment.Application.FileDownloader.PatchFiles(订阅状态 子状态)在 System.Deployment.Application.FileDownloader.Download(订阅状态 子状态)在 System.Deployment.Application.DownloadManager.DownloadDependencies(订阅状态 子状态、AssemblyManifest 部署Manifest、AssemblyManifest appManifest、Uri sourceUriBase、字符串 targetDirectory、字符串组、 IDownloadNotification 通知、DownloadOptions 选项)位于 System.Deployment.Application.ApplicationActivator.DownloadApplication(订阅状态 subState、ActivationDescription actDesc、Int64 transactionId、 临时目录&下载温度)在 System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& 子状态,ActivationDescription actDesc) at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri、布尔 isShortcut、字符串 textualSubId、字符串 DeploymentProviderUrlFromExtension、BrowserSettings browserSettings、 字符串&错误页面网址)位于 System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(对象 状态)
组件商店交易详细信息 没有交易信息 可用。
I need to create a windows installer for a windows application that uses Infragistics control library and Office automation. So far had no luck with Visual Studio ClickOnce installation.
So I created a setup deployment project and it works fine. But I need to add an update feature to the installer.
Are there any open source installers which support my requirements? Or how can I get ClickOnce working?
ClickOnce error
PLATFORM VERSION INFO Windows : 6.1.7601.65536 (Win32NT) Common
Language Runtime : 4.0.30319.239 System.Deployment.dll :
4.0.30319.1 (RTMRel.030319-0100) clr.dll : 4.0.30319.239 (RTMGDR.030319-2300) dfdll.dll : 4.0.30319.1 (RTMRel.030319-0100)
dfshim.dll : 4.0.31106.0 (Main.031106-0000)SOURCES Deployment url : http:///jcms.application
Server : Microsoft-IIS/7.5
X-Powered-By : ASP.NET Deployment Provider url : http:///jcms.application Application url :
http:///Application%20Files/jcms_1_0_0_13/jcms.exe.manifest
Server : Microsoft-IIS/7.5
X-Powered-By : ASP.NETIDENTITIES Deployment Identity : jcms.application, Version=1.0.0.13,
Culture=neutral, PublicKeyToken=94e3b9e83a371fb3,
processorArchitecture=msil Application Identity : jcms.exe,
Version=1.0.0.13, Culture=neutral, PublicKeyToken=94e3b9e83a371fb3,
processorArchitecture=msil, type=win32APPLICATION SUMMARY * Installable application.
ERROR SUMMARY Below is a summary of the errors, details of these
errors are listed later in the log. * Activation of
http:///jcms.application resulted in exception. Following
failure messages were detected: + Value does not fall within the
expected range.COMPONENT STORE TRANSACTION FAILURE SUMMARY No transaction error was
detected.WARNINGS There were no warnings during this operation.
OPERATION PROGRESS STATUS * [1/26/2012 6:09:13 PM] : Activation of
http:///jcms.application has started. * [1/26/2012 6:09:18 PM]
: Processing of deployment manifest has successfully completed. *
[1/26/2012 6:09:18 PM] : Installation of the application has started.
* [1/26/2012 6:09:18 PM] : Processing of application manifest has
successfully completed. * [1/26/2012 6:09:20 PM] : Found compatible
runtime version 2.0.50727. * [1/26/2012 6:09:20 PM] : Detecting
dependent assembly Sentinel.v3.5Client, Version=3.5.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,
processorArchitecture=msil using Sentinel.v3.5Client, Version=3.5.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,
processorArchitecture=msil. * [1/26/2012 6:09:20 PM] : Detecting
dependent assembly System.Data.Entity, Version=3.5.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089,
processorArchitecture=msil using System.Data.Entity, Version=3.5.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089,
processorArchitecture=msil. * [1/26/2012 6:09:20 PM] : Detecting
dependent assembly WindowsBase, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35, processorArchitecture=msil using
WindowsBase, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35, processorArchitecture=msil. *
[1/26/2012 6:09:20 PM] : Detecting dependent assembly
Microsoft.Vbe.Interop, Version=14.0.0.0, Culture=neutral,
PublicKeyToken=71E9BCE111E9429C, processorArchitecture=msil using
Microsoft.Vbe.Interop, Version=14.0.0.0, Culture=neutral,
PublicKeyToken=71e9bce111e9429c, processorArchitecture=msil. *
[1/26/2012 6:09:20 PM] : Detecting dependent assembly Microsoft.Ink,
Version=6.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35,
processorArchitecture=x86 using Microsoft.Ink, Version=6.1.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35,
processorArchitecture=x86. * [1/26/2012 6:09:20 PM] : Detecting
dependent assembly Microsoft.Office.Interop.Word, Version=14.0.0.0,
Culture=neutral, PublicKeyToken=71E9BCE111E9429C,
processorArchitecture=msil using Microsoft.Office.Interop.Word,
Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c,
processorArchitecture=msil. * [1/26/2012 6:09:20 PM] : Detecting
dependent assembly System.Core, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089, processorArchitecture=msil using
System.Core, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089, processorArchitecture=msil. *
[1/26/2012 6:09:20 PM] : Detecting dependent assembly
System.Data.Entity, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089, processorArchitecture=msil using
System.Data.Entity, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089, processorArchitecture=msil. *
[1/26/2012 6:09:20 PM] : Request of trust and detection of platform is
complete.ERROR DETAILS Following errors were detected during this operation.
* [1/26/2012 6:09:21 PM] System.ArgumentException
- Value does not fall within the expected range.
- Source: System.Deployment
- Stack trace: at System.Deployment.Internal.Isolation.IStore.LockApplicationPath(UInt32
Flags, IDefinitionAppId ApId, IntPtr& Cookie) at
System.Deployment.Application.ComponentStore.LockApplicationPath(DefinitionAppId
definitionAppId) at
System.Deployment.Application.SubscriptionStore.LockApplicationPath(DefinitionAppId
definitionAppId) at
System.Deployment.Application.FileDownloader.PatchFiles(SubscriptionState
subState) at
System.Deployment.Application.FileDownloader.Download(SubscriptionState
subState) at
System.Deployment.Application.DownloadManager.DownloadDependencies(SubscriptionState
subState, AssemblyManifest deployManifest, AssemblyManifest
appManifest, Uri sourceUriBase, String targetDirectory, String group,
IDownloadNotification notification, DownloadOptions options) at
System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState
subState, ActivationDescription actDesc, Int64 transactionId,
TempDirectory& downloadTemp) at
System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState&
subState, ActivationDescription actDesc) at
System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri
activationUri, Boolean isShortcut, String textualSubId, String
deploymentProviderUrlFromExtension, BrowserSettings browserSettings,
String& errorPageUrl) at
System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object
state)COMPONENT STORE TRANSACTION DETAILS No transaction information is
available.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
以下是有关更新应用程序的线程: 自动更新 Windows 应用程序的最佳方式是什么?
基本上,好的更新程序不是免费的,因此开源解决方案可能无法按照您想要的方式工作。您可以尝试解决 ClickOnce 错误,或者尝试自己实现更新程序机制。
Here is a thread about updating an application: What is the best way to auto update a windows application?
Basically, good updaters aren't free, so an open-source solution may not work the way you want it. You can either try to work around the ClickOnce error, or try to implement an updater mechanism yourself.
单击部署后出现的错误可能是路径无效,例如,如果路径中包含“&”符号,则会失败:
https://stackoverflow.com/a/725977/394855
另一种可能性是,如果路径已被使用:
http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/49197a65-92c4-4529-b118-8f20c8c0fbfc/
The error that you are getting with you click once deployment may that the path isn't valid, for example it will fail if you have an ampersand in the path:
https://stackoverflow.com/a/725977/394855
Another possibility is that if the path is already used:
http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/49197a65-92c4-4529-b118-8f20c8c0fbfc/