Utility to create a menu program that would not require an installer - menu

I would like to create a menu "program" so that when I give someone a DVD containing PDF files, mpg, mp3 files, etc., the user will be able to click on a menu's button or hyperlink to select the item s/he wants to open.
I tried using an .hta file, which works just fine on my computers.
My .hta file identifies the drive and folder where it is situated, and uses vbscript to identify the default executable which the client computer uses to open various extensions.
The .hta file uses the FileSystemObject to run the executable against the PDF or other file that the user selects.
Alas, several DVD recipients told me that their Windows computers did not recognize .hta files, i.e., they got various error messages, e.g., Windows wanted to know what program to use to open the .hta file.
Can someone recommend a simple open source approach to take, in lieu of an .hta file, which would not require the user to run an installer?

Related

Using Octave to "Edit" notepad file instead of "Open" in Windows

I use Windows 10 and an .exe program (in-house code written by a colleague) that imports data from .txt files. Since 99% of my use of .txt files are for this program, I've changed the default Windows program so that this .exe file is run automatically when opening a .txt file. If I need to access the .txt file directly, or use it for another purpose, I right-click and choose "edit."
I'm now writing a program of my own (using Octave 4.4.1), which also uses .txt files that sometimes need to be opened/edited, but if I use "open(filename)" in my Octave script, of course it just opens the .exe file. I can open the .txt file from there, but I'd like to skip this middle step, since the aforementioned .exe program is not intended to be used in this process, and there are other users of my code that don't have the .exe program installed.
Is there a way to duplicate the right-click/edit feature in Windows within Octave code? "edit(filename)" opens the file in the native Octave editor, which is technically viable, but not exactly a desirable scenario. I've also tried changing the default Octave editor to Notepad, and I've tried Notepad++ as well, but I have had absolutely no luck, even with significant effort, of making Octave use an external default editor of any kind (even when I remove the .exe program as the default for .txt files). Thanks in advance for any advice you can offer.
You can send command-line commands from Octave using the system() function.
For example, to open the file in notepad, you could do
[status, output] = system("notepad <path_to_text_file>.txt");
If notepad isn't in your system path, you will have to add it to or use the full path to the notepad executable
Or, if you want to use Notepad++, add it to your system path and then do
[status, output] = system("notepad++ <path_to_text_file>.txt");

How to make PC unzip a downloaded file with one click in Chrome? Macs do this, why not PCs?

How do you make a PC unzip a downloaded file with one click in Chrome? Macs do this, why not PCs?
On my Mac, when I download a .zip file, it shows in the bottom bar of Chrome. If I click once on that download in the Chrome bottom bar, it unzips the archive into the same directory ("Downloads") without any further interaction from me.
How can a PC user get a file to unzip with that same convenience? Everything I've tried requires you to go to make two or three steps.
Here's how to do it. It is not nearly as seamless and quick as on a Mac, but it works without any user interaction by monitoring your download folder for archives. When one shows up in the folder, it automatically unzips the archive and can optionally delete the .zip, or run a command line, or what-have-you. On a slow PC I tested it on, it took about 40 seconds to recognize there was a new archive and to process it. Hopefully that's faster on faster PCs.
Here are the basics:
download ExtractNow onto PC from http://www.extractnow.com
in the Settings tabs, under Monitor, select the path to the folder want to monitor and check the "Automatically extract" checkbox.
That's basically it.
Additionally you can run a command. I needed to do something a little unusual - open an .html file from the just-expanded archive using Microsoft Word - and I was able to get it to do that automatically. Here's what I entered in the Process tab under the "Archive operation complete" section:
check the "Run a program" checkbox
in the Command: box, enter this:
winword {ArchiveFolder}"{ArchiveName}.html"
You can tweak that for your circumstances. The point is that ExtractNow can pass info about the archive (the name, the path, etc.) in bracketed, named variables so that you can use them to invoke other commands or processing.
I don't love the time lag, but it completely does what I wanted and more. Cheers!

How to install mscomct2.ocx file from .cab file (Excel User Form and VBA)

I have an Excel spreadsheet with a user form that uses the calendar control. It works fine on my machine, but others can't use it because they are missing the mscomct2.ocx file. I found where to download it (http://support.microsoft.com/kb/297381), but it comes down as a cab file, and I'm not sure how to tell others to use that file. My internet searches point to a variety of solutions from copying it to the system32 file to registering it using regsrv32. I was hoping somebody here could give me layman's instructions, as I hate to ask these other users to try five different things.
You're correct that this is really painful to hand out to others, but if you have to, this is how you do it.
Just extract the .ocx file from the .cab file (it is similar to a zip)
Copy to the system folder (c:\windows\sysWOW64 for 64 bit systems and c:\windows\system32 for 32 bit)
Use regsvr32 through the command prompt to register the file (e.g. "regsvr32 c:\windows\sysWOW64\mscomct2.ocx")
References
http://social.msdn.microsoft.com/Forums/en-US/sbappdev/thread/91cf3127-70fe-4726-8a27-31b8964430c5/
http://en.wikipedia.org/wiki/Cabinet_(file_format)

I've downloaded an .exe file but it closes quickly as it opens

I am trying to open a downloaded .exe file but it closes as soon as it opens. Is there any possible way so that I can open it for a longer duration to read the content.
It's probably a console application rather than a GUI application. Use the command prompt to run the .exe.
Do the following...
Hold down your Windows key on your keyboard and then tap "R".
This will bring up the Run dialog. Type in "cmd" (without the quotes). Hit enter.
(this will work in all Windows versions - browsing the start menu/screen differs in each version)
If you saved the file to c:\downloads and it's called myFile.exe, type
C:
cd C:\Downloads
myFile.exe
Some of the steps are a bit redundant - if you know what you're doing in the command prompt then skip as needed (but then you probably wouldn't be posting this question). This will work even if you saved the file to D:\downloads.
Another example - if you saved the file to D:\folderA\Folder with a space\ and the file is called "my file with a space.exe" then type
D:
cd "D:\folderA\Folder with a space"
"my file with a space.exe"
If there is an issue (eg it's a 64-bit executable and you're on 32-bit Windows) then you may get a better error message at the command line.
There are so many reasons why the executable does not run. Here are some ways to check what is going wrong:
Is it your .exe? Do you known the "normal" behavior?
When you download it manually, it the result the same?
Do you download the .exe manually or via your application?
Do you see any problem in your Windows Event Viewer?
Is it the same result if you try to download the .exe via different browsers (IE, FF, ...)?
More details are welcome!
The nuget.exe file is not a console GUI application but rather a console package. Once you've downloaded it, you'll want to place it in a folder outside your Downloads folder. For example, C:\NuGet\nuget.exe - then set it as a PATH variable so that it's executable from anywhere.

How to set the working directory of WinGHCi

I just installed WinGHCi. When I try to load an .hs file with Ctrl+L, it opens the file browser in C:\Program Files (x86)\Haskell Platform\2012.2.0.0\winghci which is where I installed this. I don't want it to go there by default, I keep my code files in a different directory on a different drive and I don't want to have to navigate to D:\MyPath\Haskell every time I load a file.
I tried to set the "Start in" field of the shortcut I use to launch WinGHCi but it changed nothing.
How can I make WinGHCi look in my own directory by default?
It opens in the last directory you opened a .hs or .lhs from.
Try opening something from the folder you want, exit, restart.
Did it restart where you were?
Try working like that for a while, and if you like it (I do) then you're fine.
If you really do want to go to the same place every time, perhaps there's a way.
I can't find any setting to control this, but the information is stored in the registy.
Mine is at
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Haskell\WinGHCi 1.0.6]
"WorkingDir"="D:\\Files\\Andrew\\prog\\haskell"
You can save your version of that as resetghci.reg:
To make your own, open regedit and first try the same location. If not, search for WinGHCi.
You can export that subtree but you get the whole lot including recent expressions etc, which I don't think you should reset. Save that as ghcioriginal.reg just in case. Edit away all the lines except WorkingDir and save as resetghci.reg
When you double-click it it will ask you if you're sure you want to add that info to the registry. Yes you are.
Untested:
What follows works on older versions, but Microsoft seem to be going off .pif files and the start command, and I'm not able to test this in Windows 7.
Make a text file called ghci.bat in the same folder as the .reg you made. In it put
#echo off
regedit resetghci.reg
start WinGHCi
You might need to specify the full path to WinGHCi.
The start command is the windows equivalent of making a background process from a shell prompt, so this should terminate immediately.
Make a shortcut to ghci.bat (it will be called ghci.pif) and set it to open minimised and put a nice lambda icon on it (nick it from the winghci executable).
Pop that on your desktop, start menu or shortcut bar, and when you use it, you'll be popped back to your standard location.

Resources