InstallUtil.exe版本引起安装windows services 服务遇到的问题,System.BadImageFormatException
做好了定时任务的程序,要把它放在服务器上,作为windows服务运行,也就是说,退出登录,用户注销后程序任然在后台运行。
将exe程序发布为服务的步骤记录如下:
场景1 :程序路径没问题的情况
按照网上的有些说法,进入控制台,如下操作(VICTTEC_Maintain.exe就是要发布的程序):
C:\Users\Administrator>C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe C:\maintain\VICTTEC_Maintain.exe
报错:
在初始化安装时发生异常:
System.BadImageFormatException: 未能加载文件或程序集“file:///C:\maintain\VICTTEC_Maintain.exe”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程
问题在哪里呢?根据报错信息来看完全没有头绪,经过一段时间的思考,想到会不会是InstallUtil.exe这个程序的版本问题呢?于是换个思路,离开v2.0.50727这个文件夹,进入
v4.0.30319这个版本的目录,再次运行命令,OK,成功。
场景2:程序路径本身有问题的情况
C:\Users\Administrator>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe C:\Users\Administrator\Documents\Visual Studio 2010Projects\VICTTEC_Maintain\VICTTEC_Maintain\bin\Debug\VICTTEC_Maintain.exe
报错:
Microsoft(R) .NET Framework 安装实用工具版本 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
在初始化安装时发生异常:
System.IO.FileNotFoundException: 未能加载文件或程序集“file:///C:\Users\Administrator\Documents\Visual”或它的某一个依赖项。系统找不到指定的文件。。
这个错误乍一看也是完全没有头绪,思考了很久,还是从报错信息入手,发现报错信息里提示的目录不完整,到"\Visual"就停止了,而实际的目录是\Visual Studio,
于是乎,猜测是不是路径名称中的空格导致了报错,于是将exe文件转移出来,放在c:\maintain 目录下,也就是确保路径名称没有空格,再次尝试,OK,成功。
总结: windows中很多系统自带的程序也并不完美,也会有一些小问题,要经常更换角度观察问题,总会有解决的办法。
InstallUtil.exe版本引起安装windows services 服务遇到的问题,System.BadImageFormatException的更多相关文章
- 安装Windows Installer服务
Windows Installer 5.0.810.500 下载地址: 电信:http://mdl1.mydown.yesky.com/soft/201303/WindowsInstaller.rar ...
- C#开发Windows Services服务--服务安装失败的解决办法
问题1:“System.Security.SecurityException:未找到源,但未能搜索某些或全部事件日志.不可访问的日志: Security.” 正在运行事务处理安装. 正在开始安装的“安 ...
- 动手制作 java版本切换 多版本JDK安装 windows JDK版本 切换
[参考]windows下JDK版本之间的切换 1.下载各版本安装包,指定安装位置顺序安装 2.删除注册表,文件和环境变量 文件: C:\Windows\System32 下java相关文件如 jav ...
- C# windows服务:通过cmd命令安装、卸载、启动和停止Windows Service(InstallUtil.exe)
步骤: 1.运行--〉cmd:打开cmd命令框 2.在命令行里定位到InstallUtil.exe所在的位置 InstallUtil.exe 默认的安装位置是在C:/Windows/Microsoft ...
- 通过cmd 使用 InstallUtil.exe 命令 操作 windows服务 Windows Service
要安装windows service 首先要找到 InstallUtil.exe,InstallUtil.exe位置在 C:\Windows\Microsoft.NET\Framework\v4.0. ...
- 通过cmd命令安装、卸载、启动和停止Windows Service(InstallUtil.exe)-大壮他哥
步骤: 1.运行--〉cmd:打开cmd命令框 2.在命令行里定位到InstallUtil.exe所在的位置 InstallUtil.exe 默认的安装位置是在C:/Windows/Microsoft ...
- 通过cmd命令安装、卸载、启动和停止Windows Service(InstallUtil.exe)
步骤: 1.运行--〉cmd:打开cmd命令框 2.在命令行里定位到InstallUtil.exe所在的位置 InstallUtil.exe 默认的安装位置是在C:/Windows/Microsoft ...
- 创建、设置和安装Windows服务
文章大部分内容转自:http://www.cnblogs.com/greatandforever/archive/2008/10/14/1310504.html:和:http://www.cnblog ...
- C#创建、设置和安装Windows服务
文章大部分内容转自:http://www.cnblogs.com/greatandforever/archive/2008/10/14/1310504.html:和:http://www.cnblog ...
随机推荐
- MySQL 基础查询
6月业绩榜 名次 伙伴 业绩 签单 面谈 每日目标 1 杜艳花 12367 2 0 查看目标 2 郑东杰 2345 1 0 查看目标 3 黄传龙 345 1 1 查看目标 4 測试 0 0 0 查 ...
- 【t077】宝物筛选
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 小FF找到了王室的宝物室,里面堆满了无数价值连城的宝物--这下小FF可发财了.但是这里的宝物实在是太多 ...
- BZOJ 2783 树 - 树上倍增 + 二分
传送门 分析: 对每个点都进行一次二分:将该点作为链的底端,二分链顶端所在的深度,然后倍增找到此点,通过前缀和相减求出链的权值,并更新l,r. code #include<bits/stdc++ ...
- UItextfield 动态限制输入的字数
@property (nonatomic, strong) UITextField *txtName; - (void)viewDidLoad { [super viewDidLoad]; //UIC ...
- webtool小问题
webtool小问题 erlang的观察工具如crashdump,appmon,cover等工具有二种不同的界面:gs(wx)和web.这些tool都遵循一定的接口,用户可以自行扩展这些功能,使的能够 ...
- Eclipse 学习总结
一. Eclipse 中一个普通 JavaWeb 项目的目录结构 如果项目工程中没有web.xml文件,可以手动动态添加. 右击项目 -> java EE Tools -> ...
- discuz数据库函数使用
- 在WPF窗体中重绘
原文:在WPF窗体中重绘 写这篇主要是为了验证任何元素自身都具备绘图功能. 在默认Window中重写OnRender方法 protected override void OnRender(Draw ...
- Boost智能指针-基础知识
简单介绍 内存管理一直是 C++ 一个比較繁琐的问题,而智能指针却能够非常好的解决问题,在初始化时就已经预定了删除.排解了后顾之忧.1998年修订的第一版C++标准仅仅提供了一种智能指针:std::a ...
- 使用batch批处理做目录及流程选择
@echo off rem -- http://phpnow.org rem -- YinzCN_at_Gmail.com setlocal enableextensions if exist Pn\ ...