.chm files in a VM won't display - windows-7

I'm running Win7 in Parallels on a MacBook Pro. HTML help files (.chm) will not open, I get the "Navigation to the webpage was canceled" message. The files are not tagged as blocked in properties.
I've seen (but not tried) some registry entries that purport to solve the issue on a file-by-file or folder basis. I'm hoping for a more global solution.

Windows may be regarding the location of the .chm files as being on a network drive. There's a link to a program called HHReg on this page: http://social.msdn.microsoft.com/Forums/en-US/devdocs/thread/ef2b95e0-4198-4e1a-b876-314a23348b5e

After a while trying to fix this problem i noticed that my .chm files would not open if inside a folder (or full path) that contains the character #
I'm using Windows 7

Related

Microsoft To Do - How do I hard Code using path [duplicate]

This question already has answers here:
Launching windows 10 store apps
(2 answers)
Closed 7 months ago.
WHAT I NEED:
I am trying to use a button to open MS To Do directly from inside my solution. But, neither the MS To Do exec file nor the path work? Does anyone know whether the exec file is in another location? I would greatly appreciate any help! I have googled everything I can think of to find a solution and nothing seems to work?
WHAT I HAVE TRIED
WINDOWS APPS FOLDER: Microsoft To Do app is apparently in this folder which is inaccessible. But, the following procedure provides access to this folder by changing ownership:
PROJECT: HOW TO ACCESS THE WINDOWSAPPS FOLDER.
SOURCE: https://www.alphr.com/access-windows-apps-folder/#:~:text=Windows%2010%20Apps%20folder%20is,C%3A%2FProgram%20Files%2FWindowsApps.
MICROSOFT TO DO FOLDER: There are 4 folders with similar names in the Windows Apps folder. The one we're interested in is the 4th folder (C:\Program Files\WindowsApps\Microsoft.Todos_2.74.51921.0_x64__8wekyb3d8bbwe). At the bottom of the list of files in this folder there is the Microsoft To Do exec file (i.e. Application). However, double clicking this file doesn't open the app. Rather, two notifications (i.e. message boxes) are shown:
"The code execution cannot proceed because SharedLibrary.dll was not found. Reinstalling the program may fix this problem."
"The code execution cannot proceed because mrt100_app was not found. Reinstalling the program may fix this problem."
I have already reinstalled the program but this didn't fix the problem?
MICROSOFT TO DO PATH: Tried hard coding the path from the properties of the app as follows, but the same problem occurs?
Right click the exec file > Properties > Security Tab > Advanced button > Path is at top of Advanced Properties as follows:
MICROSOFT TO DO PATH: C:\Program Files\WindowsApps\Microsoft.Todos_2.74.51921.0_x64__8wekyb3d8bbwe\Todo.exe
I also tried creating a desktop shortcut from the exec file, but it doesn't work and it doesn't create the MS To Do icon as a shortcut. That's why I wonder if this is the real exec file?
ANOTHER SOLUTION
How To Get Modern Apps Icons
Combining some answers from Launching windows 10 store apps:
Process.Start("explorer.exe", "shell:appsfolder\Microsoft.Todos_8wekyb3d8bbwe!App")
(Tested with VS2022 on W11.)

File History first backup never succeeds. Nothing happens

I have an Windows box, which originally had Windows 7 installed and was later on upgraded to Windows 10.
On Windows 10 I added a 3TB hard disk for backups. I set up the new hard disc as backup target and started the first backup. This now is some days ago, but whenever I check the status I get following message: File History is saving copies of your files for the first time.
On the backup disc nothing happens. There is created a folder M:\FileHistory\username\boxname\Data, but there are no files in it.
There is just a link (for whatever reason not a button) below, to stop the backup. When I restart it, I get the same message but nothing happens.
Anybody any idea, what could be the reason or what to do?
Thanks in advance...
Finally found the solution. Keep in mind, I use a german version of windows. Hence, the menu point names may not be accurately translated.
In the control center > system and security > file history > extended settings
There is a link to the event viewer related to backup events.
It had some messages telling it could not save a file in a given folder. Deleting the folder, and also the BACKUP-DRIVE:\FileHistory folder on the backup drive solved the issues.

greyed-out folders on OSX with wrong date

Had a backup fail due to power hit. Was running on OSX10.9 to a Win server (XenData LTO). Widows can see folder fine, though the date is 1984. Mac sees folder greyed-out, "get info" says folder created also in 1984. Microsoft TechNet forum sees same issue (Finder issue), but offers no solution. Is the folder hidden? how do I unhide it so I can delete it, so I can re-run this backup?
If windows can see the folder - can you access it and use it? I would say pull out the contents using windows, make a new folder / new copy of the contents and resave it.

Opening a CHM file produces: "navigation to the webpage was canceled"

I am trying to open a .chm file.
I downloaded the source, extracted it, and double clicked on Waffle.chm and clicked "Open" but no matter what element in the chm file I click, I get the message:
Navigation to the webpage was canceled.
What you can try:
Retype the address.
What's going on here?
Summary
Microsoft Security Updates 896358 & 840315 block display of CHM file contents when opened from a network drive (or a UNC path). This is Windows' attempt to stop attack vectors for viruses/malware from infecting your computer and has blocked out the .chm file that draw data over the "InfoTech" protocol, which this chm file uses.
Microsoft's summary of the problem: http://support.microsoft.com/kb/896054
Solutions
If you are using Windows Server 2008, Windows 7, windows has created a quick fix. Right click the chm file, and you will get the "yourfile.chm Properties" dialog box, at the bottom, a button called "Unblock" appears. Click Unblock and press OK, and try to open the chm file again, it works correctly. This option is not available for earlier versions of Windows before WindowsXP (SP3).
Solve the problem by moving your chm file OFF the network drive. You may be unaware you are using a network drive, double check now: Right click your .chm file, click properties and look at the "location" field. If it starts with two backslashes like this: \\epicserver\blah\, then you are using a networked drive. So to fix it, Copy the chm file, and paste it into a local drive, like C:\ or E:. Then try to reopen the chm file, windows does not freak out.
Last resort, if you can't copy/move the file off the networked drive. If you must open it where it sits, and you are using a lesser version of windows like XP, Vista, ME or other, you will have to manually tell Windows not to freak out over this .chm file. HHReg (HTML Help Registration Utility) Utility Automates this Task. Basically you download the HHReg utility, load your .chm file, press OK, and it will create the necessary registry keys to tell Windows not to block it. For more info: http://www.winhelponline.com/blog/fix-cannot-view-chm-files-network-xp-2003-vista/
Windows 8 or 10? --> Upgrade to Windows XP.
"unblocking" the file fixes the problem. Screenshot:
Win 8 x64:
just move it to another folder or rename your folder (in my case: my folder was "c#").
avoid to use symbol on folder name. name it with letter.
done.
In addition to Eric Leschinski's answer, and because this is stackoverflow, a programmatical solution:
Windows uses hidden file forks to mark content as "downloaded". Truncating these unblocks the file. The name of the stream used for CHM's is "Zone.Identifier". One can access streams by appending :streamname when opening the file. (keep backups the first time, in case your RTL messes that up!)
In Delphi it would look like this:
var f : file;
begin
writeln('unblocking ',s);
assignfile(f,'some.chm:Zone.Identifier');
rewrite(f,1);
truncate(f);
closefile(f);
end;
I'm told that on non forked filesystems (like FAT32) there are hidden files, but I haven't gotten to the bottom of that yet.
P.s. Delphi's DeleteFile() should also recognize forks.
The definitive solution is to allow the InfoTech protocol to work in the intranet zone.
Add the following value to the registry and the problem should be solved:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000001
More info here: http://support.microsoft.com/kb/896054
Go to Start
Type regsvr32 hhctrl.ocx
You should get a success message like:
" DllRegisterServer in hhctrl.ocx succeeded "
Now try to open your CHM file again.
other way is to use different third party software. This link shows more third party software to view chm files...
I tried with SumatraPDF and it work fine.
I fixed this programmatically in my software, using C++ Builder.
Before I assign the CHM help file, Application->HelpFile = HelpFileName, I check to see if it contains the "Zone.Identifier" stream, and when it does, I simply remove it.
String ZIStream(HelpFileName + ":Zone.Identifier") ;
if (FileExists(ZIStream))
{ DeleteFile(ZIStream) ; }
There are apparently different levels of authentication. Most articles I read tell you to set the MaxAllowedZone to '1' which means that local machine zone and intranet zone are allowed but '4' allows access for 'all' zones.
For more info, read this article:
https://support.microsoft.com/en-us/kb/892675
This is how my registry looks (I wasn't sure it would work with the wild cards but it seems to work for me):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000004
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"UrlAllowList"="\\\\<network_path_root>;\\\\<network_path_root>\*;\\ies-inc.local;http://www.*;http://*;https://www.*;https://*;"
As an additional note, weirdly the "UrlAllowList" key was required to make this work on another PC but not my test one. It's probably not required at all but when I added it, it fixed the problem. The user may have not closed the original file or something like that. So just a consideration. I suggest try the least and test it, then add if needed. Once you confirm, you can deploy if needed. Good Luck!
Edit: P.S. Another method that worked was mapping the path to the network locally by using mklink /d (symbolic linking in Windows 7 or newer) but mapping a network drive letter (Z: for testing) did not work. Just food for thought and I did not have to 'Unblock' any files. Also the accepted 'Solution' did not resolve the issue for me.
Moving to local folder is the quickest solution, nothing else worked for me esp because I was not admin on my system (can't edit registery etc), which is a typical case in a work environment.
Create a folder in C:\help drive, lets call it help and copy the files there and open.
Do not copy to mydocuments or anywhere else, those locations are usually on network drive in office setup and will not work.

the action can't be completed because the folder or a file in it is open in another program

When deleting a folder that contains a file that is in use, it is common to see the following Windows 7 message,
"The action can't be completed because the folder or a file in it is open in another program."
I commonly have 10-20 programs open, 30-40 folders open, etc. In short, I have many executables running and many windows explorers open.
Does anyone know a simple trick to determine which program is using the file?
Does anyone know a simple trick to determine which file is blocking the delete operation?
This information would be highly useful to display in the Windows 7 'folder in use' dialog, but it is missing.
Consequently I have to close many of my open applications and folders to complete the delete operation. This is annoying because I have to re-open them after deleting them.
Have you seen this other question or this one?
I use to run ProccessExplorer and Find for the blocked folder.
Closing the application Malwarebytes allowed me to delete what I needed to via Windows Explorer.

Resources