C# 正在生成安装项目,错误1001(自定义操作出错)
我被这弄糊涂了。这不是我第一次建立一个设置-从来没有见过这样的事情 基本上,只要添加自定义操作并尝试安装,就会出现此错误 我确实有一个安装程序类,包含所有必需的代码字段,它与我在以前的安装程序类中使用的字段相同C# 正在生成安装项目,错误1001(自定义操作出错),c#,windows-installer,C#,Windows Installer,我被这弄糊涂了。这不是我第一次建立一个设置-从来没有见过这样的事情 基本上,只要添加自定义操作并尝试安装,就会出现此错误 我确实有一个安装程序类,包含所有必需的代码字段,它与我在以前的安装程序类中使用的字段相同 [RunInstaller(true)] public partial class Installer : System.Configuration.Install.Installer { public Installer() { Initiali
[RunInstaller(true)]
public partial class Installer : System.Configuration.Install.Installer
{
public Installer()
{
InitializeComponent();
}
public override void Commit(IDictionary savedState)
{
base.Commit(savedState);
// Do some work on commit
}
...
来自Fuselogvw:
*** Assembly Binder Log Entry (19/08/2012 @ 11:57:09) ***
The operation was successful.
Bind result: hr = 0x0. The operation completed successfully.
Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable C:\Windows\syswow64\MsiExec.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = NT AUTHORITY\SYSTEM
LOG: Where-ref bind. Location = C:\Program Files (x86)\OrScanTechnologies\CamerasCalibrationApp\CamCalibApplication.exe
LOG: Appbase = file:///C:/Windows/syswow64/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = MsiExec.exe
Calling assembly : (Unknown).
LOG: This bind starts in LoadFrom load context.
WRN: Native image will not be probed in LoadFrom context. Native image will only be probed in default load context, like with Assembly.Load().
LOG: No application configuration file found.
LOG: Using host configuration file: C:\Users\-\AppData\Local\Temp\CFGB105.tmp
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Attempting download of new URL file:///C:/Program Files (x86)/OrScan Technologies/CamerasCalibrationApp/CamCalibApplication.exe.
LOG: Assembly download was successful. Attempting setup of file: C:\Program Files (x86)\OrScan Technologies\CamerasCalibrationApp\CamCalibApplication.exe
LOG: Entering run-from-source setup phase.
LOG: Assembly Name is: CamCalibApplication, Version=1.5.2.2, Culture=neutral, PublicKeyToken=null
LOG: Re-apply policy for where-ref bind.
LOG: Where-ref bind Codebase does not match what is found in default context. Keep the result in LoadFrom context.
LOG: Binding succeeds. Returns assembly from C:\Program Files (x86)\OrScan Technologies\CamerasCalibrationApp\CamCalibApplication.exe.
LOG: Assembly is loaded in LoadFrom load context.
来自大众的更多信息
有时,这种错误是由项目平台目标配置不匹配引起的。检查所有解决方案项目是任意CPU/X64/x86(无论你喜欢它们)。< /P> < P>对Windows安装程序XML(WIX)部署工具基金会(DTF)自定义操作进行谷歌搜索。这是托管代码自定义操作的黄金标准,将消除1001条错误消息
这就是说,一定不要重新发明轮子。始终使用本机Windows Installer标准表和操作,而不是滚动您自己的进程外自定义操作。解决方案是添加2个opencv dll文件,这些文件以某种方式没有作为依赖项添加。成功了。为快速回复干杯。但我不这么认为。平台设置似乎都很好。你有更具体的fuslogvw日志吗?你的平台目标是什么?您是否检查了所有项目目标框架是否相同?我的平台目标是“任何CPU”(我也尝试过使用win32/x86)。所有项目都是win32或x86。我将编辑我的原始消息以包含日志的底部(我认为这与此无关)。问题是,如果我删除CustomAction命令,就没有问题了。InstallUtil自定义操作中有十几种其他故障模式,您还没有体验过。相信我,转储它并使用DTF重构代码。