相关疑难解决方法(0)

如何修复"找不到自定义操作文件的安装项目"异常?

我正在尝试为Windows服务创建一个安装项目.我已按照http://support.microsoft.com/kb/816169上的说明创建安装项目,没有任何问题.

我希望能够在安装过程中获取一个值,以便使用用户所需的设置更新app.config.我添加了一个Textboxes(A)对话框来检索值.我设置了Edit1Property属性设置为"TIMETORUN",并在我的主输出操作的CustomActionData属性我把以下内容:/ TimeToRun ="[TIMETORUN] \".到现在为止还挺好.运行设置我可以从Context.Parameters集合中检索TimeToRun值而不会出现问题.

为了找到app.config,我还需要将TARGETDIR Windows Installer属性的值传递给我的自定义操作.事情开始分崩离析.为了实现这一点,必须改变上面的CustomActionData:/ TimeToRun ="[TIMETORUN] \"/ TargetDir ="[TARGETDIR] \".现在,当我运行安装程序时,我收到以下错误消息:

错误1001.初始化安装时发生异常.System.IO.FileNotFoundException:无法加载文件或程序集'file:/// C:\ Windows\SysWOW64\Files'或其依赖项之一.该系统找不到指定的文件.

如果谷歌这个问题,你将不可避免地发现通过简单地添加斜线到其巨大成功的人/ TARGETDIR ="[TARGETDIR] \"中的部分CustomActionData.遗憾的是,这并没有解决我的问题.

我尝试了很多不同的CustomActionData字符串变体,但没有一个工作.我试图登录到从我重写文件安装方法来确定破损了,不过没有创建日志文件,因为它甚至没有得到那么远.如错误所示,失败是在初始化步骤期间.

我有一种预感,它可能是安装项目试图加载的依赖项之一.也许某种东西被附加到CustomActionData字符串并且不能很好地与TARGETDIR值(包含空格,即"C:\ Program Files\My Company\Project Name")一起使用.同样,这是另一种预感,由于我无法调试设置过程,我似乎无法确认.

还有一点需要提及,是的,这是另一种预感,这可能是64位版Windows上安装项目的问题吗?我正在运行Windows 7 Professional.

我将提供依赖项的名称,以防它有用:

  • Microsoft .NET Framework
  • Microsoft.SqlServer.DtsMsg.dll
  • Microsoft.SqlServer.DTSPipelineWrap.dll
  • Microsoft.SqlServer.DTSRuntimeWrap.dll
  • Microsoft.SQLServer.ManagedDTS.dll
  • Microsoft.SqlServer.msxml6_interop.dll
  • Microsoft.SqlServer.PipelineHost.dll
  • Microsoft.SqlServer.SqlTDiagM.dll

正如您可能从依赖项中收集的那样,Windows服务正在安排对DTSX包的调用.

对不起,长期咆哮.感谢您的任何帮助,您可以提供.

ssis windows-services custom-action setup-project

24
推荐指数
1
解决办法
1万
查看次数

在Visual Studio 2008中使用自定义安装程序时出现错误1001

我创建了一个简单的winforms应用程序和一个自定义安装程序.这看起来很简单,但我在事件日志中得到以下弹出窗口和错误详细信息.

运行自定义操作代码之前显示错误消息框

无法找到源MsiInstaller的事件ID 11001的描述.引发此事件的组件未安装在本地计算机上,或者安装已损坏.您可以在本地计算机上安装或修复该组件.

如果事件源自另一台计算机,则必须随事件一起保存显示信息.

活动中包含以下信息:

产品:自定义操作测试程序 - 错误1001.错误1001.初始化安装时发生异常:System.IO.FileNotFoundException:无法加载文件或程序集'file:/// C:\ Windows\system32\Action'或其中一个它的依赖关系.系统找不到指定的文件..(NULL)(NULL)(NULL)(NULL)(NULL)

消息资源存在但在字符串/消息表中找不到该消息

我检查了C:\ Windows\system32,没有名为Action的文件或文件夹,但有3个文件叫做ActionCenter.dll,ActionCenterCPL.dllActionQueue.dll

我有什么想法解决这个错误?

编辑:

根据cosmin-pirvu的建议,我使用日志记录运行安装程序.它出现错误的区域如下所示,但我仍然不知道如何解决问题.

MSI (s) (40:7C) [09:34:26:523]: Executing op: CustomActionSchedule(Action=_FBC0CC84_D5B4_41F9_A3EC_98A13BC7E73E.install,ActionType=3073,Source=BinaryData,Target=ManagedInstall,CustomActionData=/installtype=notransaction /action=install /LogFile= /targetdir="C:\Test\Custom Action Tester\" /Param1="C:\Test\TestFile.txt" /Param2="C:\Test\" "C:\Test\Custom Action Tester\ConfigSetup.dll" "C:\Users\wildb\AppData\Local\Temp\CFG66BE.tmp")
MSI (s) (40:94) [09:34:26:525]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI85A8.tmp, Entrypoint: ManagedInstall
MSI (s) (40:F0) [09:34:26:525]: Generating random cookie.
MSI (s) (40:F0) [09:34:26:557]: Created Custom Action Server with PID 6492 (0x195C).
MSI (s) (40:D4) [09:34:26:586]: Running as a service. …
Run Code Online (Sandbox Code Playgroud)

custom-action visual-studio-2008

7
推荐指数
1
解决办法
7984
查看次数