这个问题一直困扰着我近一个星期。
我试图通过VB中的命令行安装IIS。我知道我需要设置一个无人值守的xml脚本来调用,但这是一个令我困惑的基本内容:
如果我运行命令:' start / w pkgmgr / iu:IIS-WebServerRole; IIS-WebServer; '它在CMD.exe中完美执行。
如果我将命令添加到批处理文件并运行批处理文件,它将完美运行。
如果我使用以下命令调用命令: Dim myProcess As Process = Process.Start(“cmd.exe”,“/ k start / w pkgmgr / iu:IIS-WebServerRole; IIS-WebServer;”),< / strong>然后失败,错误为:
/////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////
操作失败,0x8007000B ////
////
试图以不正确的格式运行程序////
////////////////////////////////////////////////// ////////////////////////////////////////////////// ////
如果我调用前面提到的批处理文件,那么我得到完全相同的错误。
它如何与前两个示例完美配合,但在通过VB调用时失败?
感谢您的帮助!
答案 0 :(得分:0)
您的VB.NET程序很可能以32位模式运行,并将启动32位版本的cmd.exe。来自c:\ windows \ syswow64的那个,而不是之前使用的c:\ windows \ system32中的那个。让BadImageFormatException开始变得可能。
Project + Properties,Compile选项卡,将Target CPU设置为AnyCPU并取消选中“Prefer 32-bit”选项。在旧版本的VS上,单击“高级编译选项”按钮以进入设置。