Sitecore 7 pdf indexing - sitecore

I try to index PDF files with Sitecore 7.
I installed IFilter , but I received on crawlers log next error :
ManagedPoolThread #17 09:24:20 WARN LuceneIndexOperations : Update : Could not build document data 4433434-3443-3223-91c4-233232. Skipping.
Exception: System.Runtime.InteropServices.COMException
Message: Error HRESULT E_FAIL has been returned from a call to a COM component.
Source: mscorlib
at System.Runtime.InteropServices.ComTypes.IPersistFile.Load(String pszFileName, Int32 dwMode)
at Sitecore.ContentSearch.Extracters.IFilterTextExtraction.FilterLoader.LoadAndInitIFilter(String fileName, String extension)
at Sitecore.ContentSearch.Extracters.IFilterTextExtraction.FilterReader..ctor(String fileName)
at Sitecore.ContentSearch.ComputedFields.MediaItemIFilterTextExtractor.ComputeFieldValue(IIndexable indexable)
at Sitecore.ContentSearch.ComputedFields.MediaItemContentExtractor.ComputeFieldValue(IIndexable indexable)
at Sitecore.ContentSearch.LuceneProvider.LuceneDocumentBuilder.AddComputedIndexFields()
at Sitecore.ContentSearch.LuceneProvider.LuceneIndexOperations.GetIndexData(IIndexable indexable, IIndexable latestVersion, IProviderUpdateContext context)
at Sitecore.ContentSearch.LuceneProvider.LuceneIndexOperations.BuildDataToIndex(IProviderUpdateContext context, IIndexable version, IIndexable latestVersion)
at Sitecore.ContentSearch.LuceneProvider.LuceneIndexOperations.<>c__DisplayClass7.<Update>b__0(Item version)
What I have to do work because on Sitecore documentation they said it must work out of the box.

I had the same issue and I received from Sitecore support next response (it works fine after):
1) Copy all the Adobe iFilter .dll files into the "\System32\Inetsrv" folder. This is the working directory for IIS on Windows Server.
The Adobe iFilter .dll files are stored at the "C:\Program Files\Adobe\Adobe PDF iFilter 9 for 64-bit platforms\bin" folder by default.
Also you can use the "IFilter Explorer" tool to detect the folder where the .dll files are stored:
http://www.citeknet.com/Products/IFilters/IFilterExplorer/tabid/62/Default.aspx
For more details please see the screenshot:
http://screencast.com/t/xmWukanM+
2) Delete all the files under the "Website/App_Data/MediaCache" folder;
3) Rebuild the Sitecore Search Indexes (Sitecore -> Control Panel -> Indexing -> Indexing Manager);
4) Clear the Sitecore cache (the http://{hostname}/sitecore/admin/cache.aspx tool);
5) Restart the IIS;

Here is the solution I took since I didn't like the idea of coping iFilter related DLLs into the system path.
install Adobe IFilter 9 (I used this link). Note version 9 is essential as starting at version X they abandoned file based interface.
add filter location to the PATH environment variable. In my case it was %ProgramFiles%\Adobe\Adobe PDF iFilter 9 for 64-bit platforms\bin\.
run iisreset
go back to Sitecore app and run index rebuild for necessary indexes.
For your consideration:
while trying to resolve the issue I granted full access to IFilter folder for app pool account. I don't think it's necessary as I removed it at the end and everything was still working fine.
After these steps PDF indexing started working fine on my instance of Sitecore 7 running on Windows 8.1.

Related

iOS build on PC paired to Mac - app.dSYM.zip fails, 'Show IPA File on Build Server' missing, errSecInternalComponent, 'IPA is not a valid zipfile'

I have a Xamarin iOS application in VisualStudio 2019 on a Windows 10 PC. I build it on the PC, and when possible then right click the project and choose Show IPA File on Build Server, then on my Mac I upload the file to the app store using Transporter. I am encountering these issues:
Whenever I build, the build says it failed with message "There was an error unzipping the file bin\Ad-Hoc\MyApp.app.dSYM.zip: Could not find a part of the path 'C:\MyDirectory\MyApp.iOS\bin\Ad-Hoc\MyAppiOS.app.dSYM'." This has not historically caused any issues - we have still been able to upload the IPA to the app store and deploy our app - but I include it in case it's relevant to the other issues.
Sometimes, my build fails saying it "has been disconnected while waiting a post repsonse to topic xvs/Build/.../execute-task/MyApp.iOS/...Codesign" or "Unable to connect to Mac Server with Address='192.111.111.111' and User='My Username'. The build can't continue without a connection". I'm assuming a wifi issue must cause this, though the machines are all right next to one another and next to my router so seems odd. Occasionally when I try to pair to the Mac, I also get the message "Error, Couldn't connect to com. Please try again. An attempt was made to access a socket in a way forbidden by its access permissions." In any case, makes me wonder if there's any way for me to 1) hardwire the Mac to the PC or 2) build directly on the Mac instead of through VS on the PC, even though I write the code on the PC?
During the build, I periodically get an error "/Users/myUser/Library/Caches/Xamarin/mtbs/builds/MyApp.iOS//bin/Ad-Hoc/MyAppiOS.app: errSecInternalComponent MyApp.iOS C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets 2003". If I lock all keychains on the Mac this goes away on the next build, but then it reappears a few builds later.
Once the build finishes with just the .dSym.zip error, most of the time, the "Show IPA File on Build Server" option still does NOT show up (not greyed out - it is not present in the menu at all) when I right click the iOS project. To get around this, I have been copying the file over to the Mac via S3. I'm wondering why the option doesn't show up, and if there's a way to just find the built file on the Mac rather than copying it over from Windows?
I then use Transporter on the Mac to upload the IPA file to the Apple Store. It always is able to read the version information and says the file is Delivered. However, often I then get an email from Apple saying the build failed because "ITMS-90688: This IPA is invalid - While unzipping the IPA we received the error message [ End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. unzip: cannot find zipfile directory in one of MyAppiOS.ipa or MyAppiOS.ipa.zip, and cannot find MyAppiOS.ipa.ZIP, period. ] Verify that the IPA can be unzipped before reattempting your upload.".
In response to that error, I've tried to unzip the IPA file and I find that on the PC it is always unzippable if I change the extension to .zip, and on my Mac, I can always unzip it to see the Payload directory, and the MyAppiOS item inside it can never be opened - I get a popup "You can't open the application 'MyAppiOS' because it is not supported on this type of Mac." - in any case, the files Apple likes and the ones it doesn't look the same to me when I try unzipping.
My only ideas are to try to figure out how to open and build the app on my Mac, to call my router company, and to keep trying and trying, over and over again, until finally one of the builds works... which sometimes literally takes hours.
Many thanks for any help you are able to offer!

Loading 2 DLLs with the same name but different contents

I have a Windows C++ application that builds into an excel plugin. My application links against the oracle 12 client, via OCCI (https://www.oracle.com/database/technologies/appdev/oci.html).
At runtime, the program will delay load oracle dll’s such as ocil.dll, oraons.dll, OraOCIEI12.dll.
Note that the dll’s are set to delay-load, because they are stored on a file server (not set in the user's windows PATH variable), and the first thing the program does, is to set this location.
We have users that combine our excel plugin with their own VBA code that uses an oracle ODBC driver. The problem is that none of our users have oracle 12 client installed on their own machines. They run oracle 11 client instead, and are not allowd to upgrade.
Oracle doesn’t have version dependencies in their names; both oracle 11 and 12 clients are dependent on oci.dll, oraons.dll, etc. The dll’s are version dependent, their names are not.
There are two kind of crashes:
First the user calls something via our library, and then via the external VBA code. What happens is that the oracle 12 dll’s are loaded first. Our library runs fine, but the VBA code crashes since it is trying to use the oracle 12 libraries.
First the user calls the VBA code, and then our library. The VBA code loads the oracle 11 dll’s and runs fine, but our library crashes.
Our application links to the SDK libraries downloaded from:
https://www.oracle.com/technetwork/topics/winsoft-085727.html
(instantclient-sdk-nt-12.2.0.1.0.zip)
Our application has to link to oracle 12, since we compile with Visual Studio 2017 and the MSCV 14.14 compiler.
Can I somehow make it work that I load both oracle clients?
I looked at the oracle header files, and nothing in there specifies the name of the dll’s that need loading. Our application links to oci.lib, and in there I can see multiple occurances of “OCI.dll”. Perhaps I could replace them with “OCI12.dll”?
I also found this page:
https://social.msdn.microsoft.com/Forums/vstudio/en-US/b3eaa07f-7f92-4693-8aa1-b8fee0b92d2f/cannot-load-2-dlls-with-same-name-but-different-versions
I tried it. When I do an explicit LoadLibraryA("oci.dll"), I can see in the debugger that I am loading the one that i set with the manifest. However, when I then make an actual function call that uses oracle, it is loading the ohter OCI.dll (on our file server), togehter with 3 other oracle dlls: oraocci12d.dll, OraOCIEi12,dll and oraons.dll. Maybe this has something to do with how oracle loads dlls?
For completeness, the user does something like this in his VBA code:
Dim cnnPointer As ADODB.Connection
cnnPointer.ConnectionString = "DRIVER={Oracle in 112};" _
& "DBQ=" & Me.txtMiljoe.Text & ";" _
& "UID=" & Me.txtUser.Text & ";" _
& "PWD=" & Me.txtPassword.Text & ";"
Thanks in advance.
Nele

Use Regex to detect the latest direct download link URL and thus quickly DL the latest software using AHK or other script lang

I am attempting to use AutoHotkey to launch google chrome to a specific URL that will download the latest version of CCleaner.exe. Everytime a new version is released the version numbers change the URL. How can I open chrome and detect the current correct URL that will allow me to download the file. Currently I get an error because my URL is out of date and no loger representative of the latest release.
for my ahk script I have used this with success to open chrome to the url of my choosing. I just am not sure how to get it to auto detect the new URL of the next software version.
~d & ~c::
If WinExist("ahk_exe chrome.exe")
{
Run, "chrome.exe" --new-tab "https://download.ccleaner.com/ccsetup559.exe", C:\Program Files (x86)\Google\Chrome\Application\, Max, chromePID
WinWait, ahk_pid %chromePID%,, 1
WinActivate, ahk_pid %chromePID%,, 1
WinWaitActive, ahk_pid %chromePID%,, 1
Return
}
Else {
Run, chrome.exe --new-tab "https://download.ccleaner.com/ccsetup559.exe", C:\Program Files (x86)\Google\Chrome\Application\, Max, chromePID
WinWait, ahk_pid %chromePID%,, 1
WinWaitActive, "ahk_exe chrome.exe",, 1
Return
}
My current script will open the URL (https://download.ccleaner.com/ccsetup559.exe) that I listed in my code. However, it won't change to the latest URL that has the new version number for the latest software release and thus gives an error. The new URL could look like the following as an example (https://download.ccleaner.com/ccsetup601.exe) How can I open chrome to the general URL and auto detect the correct download link that has the latest version.
Maybe you should go on the following link: https://www.ccleaner.com/ccleaner/download/standard and look the download URL which has this pattern:
https:\/\/download.ccleaner.com\/ccsetup(\d*).exe
Following this documentation: https://www.autohotkey.com/docs/commands/RegExMatch.htm
FoundPos := RegExMatch(yourURL, "https:\/\/download.ccleaner.com\/ccsetup(\d*).exe", VersionValue)
And then use VersionValue.
The (\d*) will catch the digits.

Virtualbox “Callee RC: REGDB_E_CLASSNOTREG” (0x80040154)?

I was getting the Virtualbox problem
Callee RC: REGDB_E_CLASSNOTREG” (0x80040154)
all of a sudden. Problem started on VirtualBox 4.3 (I think). I upgraded to version 5 hoping to fix it but had no luck at that point.
My solution:
Check your directory C:\Users\yourname\.VirtualBox\ (yourname is in fact your username.)
On my PC there was a VirtualBox.xml with size of 0 Kb.
Also there was a VirtualBox.xml-prev with a size of 3 Kb.
Dates where somewhere around the time the problem started...
Renaming the VirtualBox.xml-prev one to the VirtualBox.xml SOLVED my issue.
For those without an xml file, here is my xml file, hopefully it helps .....
<?xml version="1.0"?>
<!-- ** DO NOT EDIT THIS FILE. ** If you make changes to this file while any VirtualBox related application ** is running, your changes will be overwritten later, without taking effect. ** Use VBoxManage or the VirtualBox Manager GUI to make changes. -->
-<VirtualBox version="1.12-windows" xmlns="http://www.innotek.de/VirtualBox-settings">
-<Global>
-<ExtraData>
<ExtraDataItem value="general,system,previewClosed,display,storage,audio,network,usb,sharedFolders,description" name="GUI/DetailsPageBoxes"/>
<ExtraDataItem value="m=59397901-1440-48ea-8781-6f86d06c7fbb" name="GUI/GroupDefinitions/"/>
<ExtraDataItem value="m=Sharepoint" name="GUI/LastItemSelected"/>
<ExtraDataItem value="415,153,770,550,max" name="GUI/LastWindowPosition"/>
<ExtraDataItem value="D:/virtualbox" name="GUI/RecentFolderHD"/>
<ExtraDataItem value="D:\virtualbox\Sharepoint.vdi;" name="GUI/RecentListHD"/>
<ExtraDataItem value="334,1261" name="GUI/SplitterSizes"/>
<ExtraDataItem value=",confirmGoingScale,remindAboutAutoCapture,remindAboutMouseIntegration,showRuntimeError.warning.HostAudioNotResponding,confirmInputCapture,warnAboutInaccessibleMedia" name="GUI/SuppressMessages"/>
<ExtraDataItem value="53" name="GUI/UpdateCheckCount"/>
<ExtraDataItem value="1 d, 2015-08-19, stable, 5.0.0" name="GUI/UpdateDate"/>
</ExtraData>
-<MachineRegistry>
<MachineEntry src="D:/virtualbox/Sharepoint/Sharepoint.vbox" uuid="{59397901-1440-48ea-8781-6f86d06c7fbb}"/>
</MachineRegistry>
-<MediaRegistry>
<HardDisks/>
<DVDImages/>
<FloppyImages/>
</MediaRegistry>
-<NetserviceRegistry>
-<DHCPServers>
<DHCPServer enabled="1" upperIP="192.168.56.254" lowerIP="192.168.56.101" networkMask="255.255.255.0" IPAddress="192.168.56.100" networkName="HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter"/>
</DHCPServers>
</NetserviceRegistry>
<SystemProperties exclusiveHwVirt="false" LogHistoryCount="3" webServiceAuthLibrary="VBoxAuth" VRDEAuthLibrary="VBoxAuth" defaultHardDiskFormat="VDI" defaultMachineFolder="C:\Users\yourname\VirtualBox VMs"/>
<USBDeviceFilters/>
</Global>
</VirtualBox>
I had the error...
Failed to create the VirtualBoxClient COM object.
The application will now terminate.
Callee RC: REGDB_E_CLASSNOTREG (0x80040154)
...when starting VirtualBox as normal user. Starting as administrator
worked on the other hand.
System: Windows 8, VirtualBox 5
Actually, the issue "suddenly" appeared after I played around with raw disk accesses. During these test, I re-installed VirtualBox as administrator.
What people not always know is that the registry has also an access right management, like files. Right-click on a folder to access the Autorisations window to display them.
When I re-installed as administrator, the registry keys where created with an admin level access. By this, I wasn't able anymore to start VirtualBox as non-admin.
Re-installing as normal user did not solve the problem. Probably because some admin-level keys could not be deleted.
Solution that worked for me:
Back-up .VirtualBox (optional, as all backups are :-)
Uninstall VirtualBox
Open Registry Editor regedit.exe as administrator.
Delete all remaining VirtualBox keys (especially the .NET, driver registrations, Compatibility Manager settings)
Reinstall VirtualBox using a user account.
Notes:
I did not test escalating the VirtualBox uninstaller process to administrator level with sysinternals. That might work as well.
Be careful with regedit. The GUI is quite '90s. Good to know: CTRL+F searches below the currently selected key, so be sure to go to the top when start searching.
I had one key for an USB driver that I wasn't able to delete due to access rights problems. Finally, this was not needed anyway.
Please don't forget to change access rights on VirtualBox disk files when they have been created with VirtualBox running as administrator.
Renaming the VirtualBox.xml-prev one to the VirtualBox.xml solved my issue.
After you upgrade to VirtualBox-5.0.8-103449 started getting error: Virtualbox "Callee RC: REGDB_E_CLASSNOTREG" (0x80040154)
No advice on the Internet did not help.
It helped only delete the entire contents of the folder "C:\Users\"user"\. VirtualBox" and then restart Oracle VM VirtualBox shortcut on the desktop.
Apparently when you remove the previous version of Virtualbox folder
"C:\Users\"user"\.VirtualBox" is removed.
As the contents of the folder should be removed manually after reinstalling VirtualBox, as well as in case of damage VirtualBox, for example due to lack of space on the hard disk.
Not to be confused with the folder "C:\Users\"user"\VirtualBox VMs"
This folder appears later, only after the establishment has a particular virtual machine.
sorry for machine translation.
In my case this error was caused by a zero-byte truncated VirtualBox.xml in the user's .VirtualBox folder. I found out after downgrading to 4.x and getting a more descriptive error message regarding a missing < tag.
As I already suggested on superuser, as of today (09/09/2015).
Upgrade to the new version that was released.You can find it here
There have been some changes concerning the Windows 10 Problems.
The solution is in the last paragraph.
I happened to have a different cause for the same error message under VirtualBox 5.0.20.
So I temporarily installed VirtualBox 5.1.10 which tries to analyse the situation and gives more info about probable culprit.
In my case the error message from VB 5.1.10 looked like following:
Failed to instantiate CLSID_VirtualBox w/ IVirtualBox, but CLSID_VirtualBox w/ IUnknown works.
PSDispatch looks broken by the 'xxx' ({11B6009E-3F04-4478-A807-30FBD579FC07}) program, suspecting that it features the broken oleaut32.msm module as component {997FA962-E067-11D1-9396-00A0C90F27F9}.
We suggest you try uninstall 'xxx'.
See also https://support.microsoft.com/en-us/kb/316911 .
Result Code:
E_NOINTERFACE (0x80004002)
Component:
VirtualBoxClientWrap
Interface:
IVirtualBoxClient {d2937a8e-cb8d-4382-90ba-b7da78a74573}
Where 'xxx' is here a placeholder name for a specific program name it mentions and suggests to uninstall. (The specific name in my case is not important here).
So I did uninstall the specific program the new VirtualBox version accused, and after that VB started working again. Then I reinstalled the old VB version 5.0.20 I needed to continue using and all was well.
After some researching I found this thread with the step:
find C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv\VBoxDrv.inf right click and select Install
I had this same issue, I believe something corrupted whilst shutting down without correctly closing connections and I couldn't boot VB.
Tried all of the solutions above but none of them worked.
Without Uninstalling I went to the virtual box website and grabbed the most recent version and installed over the top and VB jumped into life.
Version 6.0.14 From 6.0.10

Windows Mobile fails to uninstall

Testing my app on some WM Std 6.1 I found out that it fails to uninstall. I receive this error:
“[app] was not completely removed. Do you want to remove it from the list of installed programs?"
Checking my setup.dll I can tell that Uninstall_Init and Uninstall_Exit are being called each time but all the files stays (they are not locked, I’ve checked) and its entry doesn’t disappear from the list of installed apps (whether I choose it to stay or not).
There are really only three possible reasons for this:
Uninstall_Init doesn't return continue.
Uninstall_Exit doesn't return continue.
The installer engine failed.
If you have verified that 1 & 2 then ok then 3 is going to be tough to figure out.
Some problems that I have encounted:
Check the DLL dependencies of your setup DLL and try to remove as many as possible. I've found that dependencies to MSXML can cause problems.
Remove any registry setup in your INF file, move it into your setup dll. I've found this to cause the uninstall to fail randomly on random devices because of this.
What I needed up doing for existing customers is write a uninstall application to remove our application manually if the uninstall worked. If you do need to write a manual unistall you need to do the following:
* Remove all your registry keys
* Remove all your files
* Remove registry key HKLM\Security\AppInstall{app name}
* In WM6.1 you need to remove a database record from the EDB database "SwMgmtMetadataStore" where the SWT_INSTALL_NAME_TAG property equals your {app name}.
Another thing worth investigating is the install log created by the cab install/uninstall process.
You can find this within the \Application Data\Volatile\ directory (usually called setup.log).
Copying this file to your desktop PC and opening it in notepad may provide more clues (such as files in use during uninstall) as to why the uninstall did not succeed.
I had several CAB files that worked perfectly on WM 6.0, but stopped working in WM 6.1.
Turns out it was because either the AppName or the Manufacturer had spaces in. Removing the spaces fixed the CAB files and they now successfully uninstall in WM 6.1!!