![](/img/trans.png)
[英]Custom Action failing to execute during installation created with Installshield 16
[英]InstallShield failing to complete installation with .NET Installer
過去,我向安裝程序中添加了.NET Installer類文件,在安裝的“提交”和“卸載”階段執行自定義操作。 我上一次在2016年2月使用此配置構建了安裝程序。
但是,最近的安裝程序生成安裝在安裝過程中失敗,直到應調用.NET Installer類,錯誤1001,即通用.NET Installer類異常。
我嘗試用一個DLL創建一個新的安裝程序; 當.NET Installer Class設置設置為No時,安裝完成,並且單個DLL復制到安裝目錄。 .NET安裝程序類設置設置為“是”時,在安裝過程中出現錯誤1001消息。
對於此測試設置,.NET Installer類未設置為除了“提交”,“安裝”,“回滾”和“卸載”替代中的調用庫之外,不能執行任何其他操作:
namespace My.Namespace.Install
{
[RunInstaller(true)]
public partial class Installer : System.Configuration.Install.Installer
{
public Installer()
{
InitializeComponent();
}
public override void Commit(IDictionary savedState)
{
base.Commit(savedState);
}
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
}
public override void Rollback(IDictionary savedState)
{
base.Rollback(savedState);
}
public override void Uninstall(IDictionary savedState)
{
base.Uninstall(savedState);
}
}
}
在輸出日志中,我僅在錯誤1001消息周圍看到以下內容:
MSI(E):(E0:98)[08:19:18:014]:為線程9368創建790536類型的MSIHANDLE(5)
MSI(E):(E0:C8)[08:19:18:014]:調用遠程自定義操作。 DLL:C:\\ Windows \\ Installer \\ MSIC3AD.tmp,入口點:ManagedInstall
MSI(E):(E0:98)[08:19:18:014]:生成隨機Cookie。
MSI(E):(E0:98)[08:19:18:014]:創建了具有PID 7520(0x1D60)的自定義操作服務器。
MSI(s)(E0:98)[08:19:18:061]:作為服務運行。
MSI(s)(E0:98)[08:19:18:077]:您好,我是您的32位高架非重映射自定義操作服務器。
MSI(E0!7C)[08:19:18:108]:為線程8828錯誤1001創建790531類型的MSIHANDLE(6)。
MSI(s)(E0!7C)[08:19:19:306]:
MSI(E):(E0:C8)[08:19:19:306]:螺紋8828的790531類型的MSIHANDLE(6)泄漏
MSI(s)(E0:C8)[08:19:19:306]:注意:1:2769 2:_4AE00A18A12F07BD1929A5512BB0EE07.install 3:1信息2769。自定義操作_4AE00A18A12F07BD1929A5512BB0EE07.install沒有關閉1個MSIHANDLE。 CustomAction _4AE00A18A12F07BD1929A5512BB0EE07.install返回了實際錯誤代碼1603(請注意,如果在沙箱中發生翻譯,此錯誤可能不是100%准確)
MSI(s)(E0:C8)[08:19:19:306]:關閉線程9368的類型790536的MSIHANDLE(5)操作結束8:19:19:InstallFinalize。 返回值3。
錯誤1001消息出現兩次(對於“安裝”,然后在安裝失敗之后,對於“回滾”)。 我在InstallShield 2011和InstallShield 2014 Premier中都嘗試過,並且遇到相同的結果。
使用這些.NET Installer類文件的功能最近是否有所更改,或者我可以執行其他步驟來嘗試了解發生了什么情況?
在生成計算機上卸載.NET 4.6並重新安裝.NET 4.5.2似乎已解決了該問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.