Issue with Redemption embedded in application - outlook-redemption

We use a product from Epicor, I believe developed by mProof, called Clientele ITSM. The version we are using is 2016.2. We moved to Office 365 and since then are experiencing the error that started with Windows 10 (1809). The error message we receive from the application is:
System.Runtime.InteropServices.COMException (0x8000FFFF): System Error. Code: 18.
There are no more files
at Redemption.ISafeMailItem.SaveAs(String Path, Object Type)
at Clientele.Modules.Attachment.Client.Forms.AttachmentStatusBarPanel.AddEmailAsAttachment(MailItem mitem, Int32 numberOfEmailsSelected)
at Clientele.Modules.Attachment.Client.Forms.AttachmentStatusBarPanel.HandleDragDropEmail()
at Clientele.Modules.Attachment.Client.Forms.AttachmentStatusBarPanel.AttachmentStatusBarPanel_DragDrop(Object sender, DragEventArgs e)
I'm looking to see if there is a way to update the version of Redemption without upgrading the Clientele ITSM application? The DLL appears to be Interop.Redemption.DLL, and the version is 5.15.0.0.
I realize this is a long shot, and the likely correct answer is to upgrade the version of Clientele ITSM, but that is unfortunately not an option at this time.
Thanks for any help or advice.

Interop.Redemption.DLL is just a binary header file used by .Net. The files you need to replace are redemption.dll and/or redemption64.dll. They can be swapped without updating the application that uses it - all versions of Redemption are backward compatible.

Related

Microsoft Edge WebView2 - Sample crashes on Load

I took the latest version of Microsoft.Web.WebView2 (0.9.515-prerelease) and added to a test C# WinForms application. Am using VS 2019, .NET framework is 4.7.2.
Placed the WebView2 control on a form, compiled and ran. The application crashed on Load, at the below point in Form1.designer.cs.
// webView21
//
this.webView21.Location = new System.Drawing.Point(153, 66);
this.webView21.Name = "webView21";
this.webView21.Size = new System.Drawing.Size(492, 253);
this.webView21.Source = new System.Uri("about:blank", System.UriKind.Absolute);
this.webView21.TabIndex = 0;
this.webView21.Text = "webView21";
this.webView21.ZoomFactor = 1D;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Controls.Add(this.webView21); //CRASHED HERE WITH BELOW EXCEPTION -
When I run this in Release mode, get the following exception trace -
System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.Web.WebView2.WinForms.WebView2.OnVisibleChanged(EventArgs e)
at System.Windows.Forms.Control.OnParentVisibleChanged(EventArgs e)
at System.Windows.Forms.Control.OnVisibleChanged(EventArgs e)
at System.Windows.Forms.ScrollableControl.OnVisibleChanged(EventArgs e)
at System.Windows.Forms.Form.OnVisibleChanged(EventArgs e)
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
If I take the latest stable version of WebView2 (v 0.9.488), it throws a compilation error as it does not reflect Microsoft.Web
Please let me know how to fix this error. Appreciate your help very much. Came across this question 8 months ago but am hoping Microsoft has gone beyond that now.
How can I use the Microsoft Edge WebView2 control in C# windows application
The Sample solution Microsoft created does have C# version as well for WinForms.
https://github.com/MicrosoftEdge/WebView2Samples
Tried this sample given by Microsoft as well. It too crashes.
https://learn.microsoft.com/en-us/microsoft-edge/webview2/gettingstarted/winforms
you need to make sure 1) the Edge version is right. try download Canary version Edge from Url https://c2rsetup.officeapps.live.com/c2r/downloadEdge.aspx?ProductreleaseID=Edge&platform=Default&version=Edge&source=EdgeInsiderPage&Channel=Canary&language=en
and 2) set x86 as the target platform will fix the problem.
I faced the same issue but I was able to solve it. It crashes any time the traget CPU is "Any CPU" but if you change it to either "x86" or "x64", it runs successfully in my case. Seems it is not able to check and work with unspecified target CPU architecture.
I hope this saves someone lots of headaches
Unfortunately, this is still an issue in 0.9.515-prerelease. There's a bug opened against this and I added some more details about my repro:
https://github.com/MicrosoftEdge/WebViewFeedback/issues/228#issuecomment-687873636
Edit: The x86 suggestion does not apply for you if you install Edge for x64 bits. You can build it for x64 and it will work. More details in my response in the issue: https://github.com/MicrosoftEdge/WebViewFeedback/issues/228#issuecomment-687900181
Following the set platform guidance...
If you are using Canary Microsoft.Web.WebView2.0.9.628-prerelease. There is a known issue, the current solution is to downgrade to Microsoft.Web.WebView2.0.9.579-prerelease.
https://github.com/MicrosoftEdge/WebView2Feedback/issues/431
This worked for me.
from the path of my Edge, "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe", we may conclude the current Edge is 32bit program? wat about give a try setting platform target to x86. some guru said, with x86 set, it will work!
from the MS sample project WebView2WindowsFormsBrowser.csproj, the Microsoft.Web.WebView2 version should be "0.9.515-prerelease".
As stated by others, the minimum Microsoft Edge version is 84.0.515.0 when using WebView2 0.9.515-prerelease. You can download the required Microsoft Edge version from the Microsoft Edge Insider Channel. See the link below.
Here are some useful links when using WebView2:
Microsoft Edge Insider Channels: https://www.microsoftedgeinsider.com/en-us/download
WebView2 Release Notes: https://learn.microsoft.com/en-us/microsoft-edge/webview2/releasenotes
WebView2 Bug Reporting/Feedback (click on "Issues"): https://github.com/MicrosoftEdge/WebViewFeedback
The WebView2 component may generate an exception and crash the application during loading if it does not have permission to create the data folder needed to store user settings, etc.
If the application loads correctly when launched from Visual Studio or from other unrestricted locations, but fails to load when installed into Program Files, then this is a possible issue.
By default, the data folder is created in the same folder as the application exe, which can fail in Program Files. The data folders needs to be set to an alternative location.
This link provides some info on the use of data folders:
Managing the User Data Folder
This issue provides some code for setting the data folder for WebView2 to a valid location:
WebView2 C# Winforms application doesn't work when installed in Program Files folder #297
This worked for me:
var userDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\OurSoftware";
var env = await CoreWebView2Environment.CreateAsync(null, userDataFolder);
I encounter this problem today. My app works flawlessly until today. Turned out Edge Canary has automatically updated, and my WebView2 library (ver. 1.0.11xx) in app become deprecated.
I use Nuget Package Manager. So I open Nuget Package Manager menu, Package Manager Console. Type in
Update-Package
After update, my WebView2 library updated to 1.0.13xx version. My app continues to work again.

Problem when publishing an application on the App Store [Non-public API usage]

Until three weeks ago, my application could upload it to the App Store without any problem. However, Apple has refused to upload the app with a new message about Non-public API usage.
The application is developed with Xamarin in Visual Studio for Mac and has updated all the libraries and packages. Can anybody help me? Because I can not find what the problem is, nor do I see any solution. It will be something new?
Thank you all.
Non-public API usage:
The app references non-public selectors in AppAytoSS.iOS:
addTemporaryAttribute:value:forCharacterRange:,
addTemporaryAttributes:forCharacterRange:, behaviorWithType:,
defaultBaselineOffsetForFont:, defaultLineHeightForFont:, finished,
greekingThreshold, horizontalCornerRadius,
initWithSource:convolutionState:weights:, initWithType:,
postSession:didAddPlayer:, postSession:didReceiveData:fromPlayer:,
postSession:didReceiveMessage:withData:fromPlayer:,
postSession:didRemovePlayer:,
postSession:player:didChangeConnectionState:,
postSession:player:didSaveData:, preferredMetalContext, removeData:,
removeTemporaryAttribute:forCharacterRange:, setGreekingThreshold:,
setHorizontalCornerRadius:, setIsPrimary:, setShouldAntiAlias:, setUUID:,
setVerticalCornerRadius:, shouldAntiAlias,
temporaryAttribute:atCharacterIndex:effectiveRange:,
temporaryAttribute:atCharacterIndex:longestEffectiveRange:inRange:,
temporaryAttributesAtCharacterIndex:effectiveRange:,
temporaryAttributesAtCharacterIndex:longestEffectiveRange:inRange:,
textContainerChangedTextView:, toolTip, usesBackgroundSession,
verticalCornerRadius
We had the (exactly) same problem with an Xamarin iOS Project and where able to fix it via Setting Build/iOS Build/Linker Behaviour: Link Framework SDKs only (before Don't link) - what Jack Hua link shows as solution.
We where not able, to figure out the problem behind though. Two different MacBooks where used, one with the most recent version of XCode, Visual Studio and Xamarin Libs, the other with slightly older versions. The latter was able to create an IPA without the above described error, the updated machine was not.
However the used NugGet Packages where the same, so I think this issue is not related to them.
After filling an internal issue with the Xamarin team, they advised doing the following
adding --linksdkonly to the Additional mtouch arguments on the iOS Build settings page
As it seems that Visual Studio ignores the settings in GUI
I have tested it and now get my build accepted by Apple without the above error
This is the issue filed on Xamarin
https://github.com/xamarin/xamarin-macios/issues/5913
I find a thread where people meet the same problem with you recently:build-status-has-changed-to-invalid-binary.
So, I guess some third part nuget packages you are using has updated and using these non-public selectors that Apple not allow.
I would suggest you to get you code three weeks ago and don't update any third part nuget packages. Then submit again to check if it is the problem.
You can also compare your reference with the references people listed in that thread and find something similar. And any nuget packages related to Player(As I can see some player selector in the non-public selectors list)?

Sending phone call without TAPI installed?

I am developing an auto-dialer application to send out mass phone calls to a list of clients from a database. I am using Dialogic's Diva SDK 5.5 WIN API to develop this application. I believe my code is running correctly and I can have the application begin the process of sending a call out, however the issue is that it stops working and just returns "Dialing" as the progress status. The call fails to do anything other than this and I have now been troubleshooting it for quite a while and found return code from one of the error tests that reports there is no TAPI installed on my computer.
Is TAPI required to be able to send phone calls successfully from any computer or is it likely the issue is just an error in my code? I am using the Dialogic Diva UM-Analog-4 media board and I believe I have all of the cables hooked up correctly to it. I cannot find anything that helps answer this question in the Dialogic manuals, any help or insight into this issue is greatly appreciated.
Which of the many APIs are you using? What version of Windows? You mentioned the 5.5 SDK, but is it the Diva API, Diva Component API, Diva API for .NET, etc.? What is your development environment? Do you call "DivaInitialize" as your first command or something else like LineInitializeEX? As of Dec 2015, Dialogic stopped supporting TAPI on their Diva boards (though it still works), so calls to one of their direct APIs should not require TAPI. However using these older 5.5 drivers, especially if you are using the COM controls, it may sit on top of TAPI. You may want to check the follwing:
run services.msc from a command prompt and make sure the "Telephony" service is running. It should be set to "automatic" if you are going to use TAPI
Check that the TSP is installed for your Dialogic card. You should have seen something related to TAPI during the install. The file "divasp.tsp" should be in your system32 folder
Make sure you ran and saved the settings in the Dialogic Configuration Manager for lines, boards, and especially "services" so it connects the correct API for you to use.

Xamarin iOS Error on try debug application on iPhone 5

When we try to debug application on device (iPhone 5) get error
MT2002: Failed to resolve "System.Linq.Expressions.BlockExpression System.Linq.Expressions.Expression::Block(System.Type,System.Collections.Generic.IEnumerable`1)"
This bug marked as solved don't help us.
https://bugzilla.xamarin.com/show_bug.cgi?id=14765
There are a few things to consider if you use, even indirectly, System.Linq.Expressions (SLE).
This requires code generation and that's not something possible under iOS. This feature is not supported on Xamarin.iOS. SLE is part of the Dynamic Language Runtime (DLR);
There is partial support for SLE using an interpreter. That has been shipped with Xamarin.iOS for long time - but it only provide a subset of the features. Sadly the existing API is not 100% identical to the one used by MS and it can
cause issues when building (e.g. using PCL assemblies). This is why you're getting those MT2002 errors (your assembly tries to override an non-existing member).
A maintenance release of Xamarin.iOS (7.2.1+) includes a better (more features) and API-compatible SLE interpreter.
You need to change your Linq statement that is causing this. I faced this problem once (I was using a third party DB), Unfortunately the actual devices don't support JIT but the simulator does. Do your Linq statement differently.

How can I use IDataErrorInfo with mvvmcross and monodroid

I am trying to build a cross platform application. Currently I am setting up a project using Xamarin MonoDroid 4.7 and MVVMCross. I would like to be able to use INotifyDataErrorInfo but I get the following compilation error:
The type 'System.ComponentModel.INotifyDataErrorInfo' exists in both 'c:\Program Files(x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.dll' and 'c:\Users\MvvmCross.PortableSupport.3.0.6\lib\MonoAndroid16\System.Windows.dll
Has anyone come across this/developed a workaround or solution?
Thanks
We think Mono for Android/Xamarin.Android has recently added this support - but the situation isn't clear - see https://bugzilla.xamarin.com/show_bug.cgi?id=5340
When we get this confirmed and work out which versions do/don't have this - which is hopefully in the coming week or two - then MvvmCross will hopefully be able to remove its version.
Also, I hope but I don't know that the MvvmCross versions of System.Windows, System.Net, etc can be removed in the near future - see https://bugzilla.xamarin.com/show_bug.cgi?id=8035
This is not at all clear at present, and it's likely to be a source of issues while PCL support from Xamarin moves through none->alpha->beta->stable
I'm afraid those 'NEW' bugzilla issues above represent all the information I have on this at present.
In the meantime... if you need to resolve the INotifyDataErrorInfo within your own project and environment, then one route forwards is to branch the MvvmCross source and to change the MvvmCross shim System.Windows.dll to type forward instead of replacing this type - the code is in https://github.com/slodge/MvvmCross/tree/v3/PortableSupport/System.Windows
I am sorry about these problems... and I'm very much looking forwards to having official PCL support from Xamarin so I no longer have to work around them.

Resources