Community
Showing results for 
Search instead for 
Do you mean 
Reply

.NET Compiler crashes when referencing the new licensing system

Copper Super Contributor
Posts: 46
Country: Germany

.NET Compiler crashes when referencing the new licensing system

[ Edited ]

Hello,

 

Short description of the problem

The new licensing system of ACT! prevents further development of custom functionality with VB.Net

for APFW due to an unresolvable app crash of the VBC compiler.

 

Details

I have a problem with the new version of the act.shared.lic.provider.dll for the new license system Soraco.

It concerns the development of own tabs in the Act! Premium for Web and displaying an aspx page with VB .NET code. The problem is when the w3wp (IIS Worker Process) tries to compile the aspx file with a language attribute set to “vb” in the page directive:

 

<%@ Page Language="VB" AutoEventWireup="false" CodeBehind="MyWebTabVB.aspx.vb" Inherits="MyWebTabVB.MyWebTab" %>

 

The VBC (Visual Basic Compiler, "C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc.exe") of the .NET Framework 4 crashes. You’ll get an APPCRASH event in the Windows event log:

 

Errorbucket 1416204227381478413, Typ 1

Eventname: APPCRASH

Answer: Nicht verfügbar

CAB-Datei-ID: 0

 

Problemsignatur:

P1: vbc.exe

P2: 14.7.3056.0

P3: 5a8e60cb

P4: vbc.exe

P5: 14.7.3056.0

P6: 5a8e60cb

P7: c0000005

P8: 0007c177

P9:

P10:

 

Angefügte Dateien:

\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERA379.tmp.WERInternalMetadata.xml

 

Diese Dateien befinden sich möglicherweise hier:

C:\ProgramData\Microsoft\Windows\WER\ReportArchive\Critical_vbc.exe_a08f56aaa155bde7efc2d4d7ab277e81d14c110_00000000_4785aa01

 

Analysesymbol:

Es wird erneut nach einer Lösung gesucht: 0

Berichts-ID: 50294c85-464b-4fa5-a3c8-b181a977c766

Berichtstatus: 268435456

Bucket mit Hash: 291021ae69c4fe6103a75e3dce7ac40d

CAB-Datei-Guid: 0

 

After this event you’ll get error events from AFW (APFW):

 

SOURCE: System.Web

MESSAGE: Eine externe Komponente hat eine Ausnahme ausgelöst.

QUERYSTRING:

TARGETSITE: System.CodeDom.Compiler.CompilerResults Compile()

STACKTRACE:    bei System.Web.Compilation.AssemblyBuilder.Compile()

   bei System.Web.Compilation.BuildProvidersCompiler.PerformBuild()

   bei System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)

   bei System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)

   bei System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)

   bei System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)

   bei System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)

   bei System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)

   bei System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path)

   bei System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

   bei System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)

   bei System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

REFERER: http://localhost/APFW/contacts/contactDetail.aspx

 

I created a little test environment “VBCTest” (see enclosed ZIP file VBCTest.zip in the next post of me):

 

VBCTest_2019-03-07_132949.png

 

  • Folder “new” contains the act.shared.licprovider.dll from the APFW 21 Update 6 (Soraco).
  • Folder “old” contains the act.shared.licprovider.dll from the APFW 21 Setup medium (Protexis).
  • File MyApp.vb is  a VB.NET code file for a little “hello” world test application.
  • File MyApp.rsp contains the compiler option file which will be used to compile the code file.
  • File Compile.bat is the batch file to start the compilation process.

(All these files and folders should be placed in a subfolder VBCTest in the root of your C: drive)

 

With the MyApp.rsp file you can define which act.shared.licprovider.dll should be added as reference to the compiler (/R: option). You can edit it the notepad and you can use the # as comment character to comment-out a line. So you can activate the different versions of the act.shared.licprovider.dll.

 

Run the compiler.bat file to see if the compiler is able to create the MyApp.exe file.

You’ll see that in the case of using the “old” act.shared.licprovider.dll the compiler can create the MyApp.exe. If you use the “new” act.shared.licprovider.dll the compiler crashes, this can only be seen in the Windows event log and you will not get a MyApp.exe.

 

I tried to find a way that the w3wp process will not add the reference to the “act.shared.licprovider.dll“ for example with the CompilerOptions attribute in the page directive. But I’ve not found a solution.

 

So please do something with your act.shared.licprovider.dll. I think for a .NET solution it should be compatible to the VBC .NET compiler. May be you should talk to the producer of your “.NET Obfuscator” or use another grade of obfuscation.

 

The bad thing is that the Soraco-Updates for the Act! versions 18.2, 20.0 and 20.1 (I do not mention 19.2 because there is no German 19.2 version of Act!) also replace the old versions of the act.shared.licprovider.dll. They all are incompatible as reference for the VBC compiler.

 

So we had to stop development for APFW.

 

Best regards

Robert

Melville-Schellmann
Consulting and Development for CRM-Software
Copper Super Contributor
Posts: 46
Country: Germany

Re: .NET Compiler crashes when referencing the new licensing system

Hello,

 

here is the VBCTest.zip file mentioned in my post above.

 

The ZIP file is password protected, so please use the password: vbctest

 

Best regards

Robert

 

Melville-Schellmann
Consulting and Development for CRM-Software
New Member
Posts: 2
Country: New_Zealand

Re: .NET Compiler crashes when referencing the new licensing system

[ Edited ]

Thanks for the post Robert_Schellma, I thought we were the only ones that has this issue.

 

Details of the error, which reflects what Robert reported above.

See attachment for all the entries of event viewer.

 

SOURCE: System.Web
MESSAGE: External component has thrown an exception.
QUERYSTRING: 
TARGETSITE: System.CodeDom.Compiler.CompilerResults Compile()
STACKTRACE:    at System.Web.Compilation.AssemblyBuilder.Compile()
   at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
   at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
   at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
   at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
   at System.Web.Compilation.BuildManager.GetVPathBuildResult(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean ensureIsUpToDate)
   at System.Web.UI.BaseTemplateParser.GetReferencedType(VirtualPath virtualPath, Boolean allowNoCompile)
   at System.Web.UI.PageParser.ProcessMainDirectiveAttribute(String deviceName, String name, String value, IDictionary parseData)
   at System.Web.UI.TemplateParser.ProcessMainDirective(IDictionary mainDirective)
REFERER: http://localhost/APFW/Contacts/ContactDetail.aspx

I hope Swiftpage addresses this issue soon as we have two products that suddenly stops working on these new Act releases.

New Member
Posts: 2
Country: New_Zealand

Re: .NET Compiler crashes when referencing the new licensing system

Also probably worth mentioning, the problem does not present itself in a Windows 7 environment, tested with v20.1 and 21.0 (both works fine).
The error posted above was done on a Windows 10.
Copper Super Contributor
Posts: 46
Country: Germany

Re: .NET Compiler crashes when referencing the new licensing system

Hi Randy,

 

good to hear that I'm not alone.

 

I ran the VBCTest on a Windows 7 System with .NET Framework 4 installed. All the new ACT.Shared.Lic.Provider.dlls failed the VBC-Test. Only the old one was able to compile the MyApp.exe

 

Best regards

Robert

 

Melville-Schellmann
Consulting and Development for CRM-Software
Copper Contributor
Posts: 27
Country: Switzerland

Re: .NET Compiler crashes when referencing the new licensing system

Hi all,

 

I also have a problem that is due to the component ACT.Shared.Lic.Provider.dll:

 

When I programm a plugin for Act!, programming and compiling possible, the newly created plugin then runs in Act! with no problem, but a debugging in Visual Studio is not possible: If the debugger attaches to the existing Act! process, Act! and the development environment crashes when loading the symbols for the ACT.Shared.Lic.Provider.dll component.

 

This is the case for all ACT.Shared.Lic.Provider.dll with the creation date after 03.10.2018. If you use ACT.Shared.Lic.Provider.dll in the version of 03.10.2018, debugging is possible.

 

Therefore at the moment the plugin development with Act! is not possible, which is very unpleasant and it is desirable that this condition be remedied quickly.

 

Best regards

Stefan

Stefan Koehli
ACT! Cerified Consultant
KÖHLI INFORMATIK AG
Administrator
Posts: 391
Country: United_Kingdom

Re: .NET Compiler crashes when referencing the new licensing system

Hi everyone,

 

Our development team have been able to recreate this, and have confirmed the issue is specific to the Soraco licensing component. We have reported this issue to Soraco, and are querying whether this is something they can provide a workaround or updated version to resolve. We will share further details as we receive them.

 

Note that this issue just impacts the VB compiler. Any developments created in C# are not impacted.

 

Regards,

Stuart

Highlighted
Bronze Super Contributor
Posts: 1,265
Country: USA

Re: .NET Compiler crashes when referencing the new licensing system

Can you please include me on the list when this issue gets fixed.

 

We have many many clients using vb scripting in our reporting tool who will not be able to move to Act 21.1 when it is released.

 

Here is my research:

.NET script generation library emits a temporary DLL at runtime, which is created in the users temp folder using the Code CodeDOM provider Internally, the provider invokes the csc.exe or vbc.exe compilers depending on the language. 

 

If you add an reference to a library such as the Act.UI.dll VB.NET (vbc.exe) compiler tries to add system references that are already present, or tries to reference an obfuscated DLL, the compile fails with the fatal error 'File not found" error.

 

TECH NOTE

I found removing all references from the GAC files will correct error in Impact Suite. Since I wrote all the code in our scripting engine I can make those changes.  BUT in our reporting tool we use DevExpress components and DevExpress suggests the obfuscated DLL need to be fixed. They can not alter the core .NET CODEDom compilers.

 

I have been researching this on the Microsoft forums but haven't found any related topics.

If anybody know where this topic exists please let me know.

 

Thanks

-- Jim 

 

 

Copper Super Contributor
Posts: 46
Country: Germany

Re: .NET Compiler crashes when referencing the new licensing system

Hi,

 

I've tested the new DLLs (Act.Shared.LicProvider.dll) from ACT! 21.1 (No Update) and ACT! 21.1 Update1. Update2 contains the same file from Update1.

They're still not compatible with the VB compiler.

 

Best regards

Robert

 

 

 

Melville-Schellmann
Consulting and Development for CRM-Software
Copper Super Contributor
Posts: 46
Country: Germany

Re: .NET Compiler crashes when referencing the new licensing system

[ Edited ]

Hi,

 

it seems that with Act! 21.1 all assemblies are not compatible with the VB compiler of .NET Framework 4

 

Tested: ACT.Framwork.dll, ACT.UI.dll, etc.

 

Best regards

Robert

Melville-Schellmann
Consulting and Development for CRM-Software