Description: From the publisher's website:
MiKTeX (pronounced mick-tech) is an up-to-date implementation of TeX/LaTeX and related programs for Windows (all current variants).
TeX is a typesetting system written by Donald Ervin Knuth who says that it is "intended for the creation of beautiful books - and especially for books that contain a lot of mathematics".
A complete set of additions (programs, styles, fonts, …) are available to help you typeset your documents.
Integrated package management
MiKTeX's integrated package manager installs missing components from the Internet, if required.
For example, the LaTeX directive:
would trigger the installer, if the memoir package is not already installed.
This unique feature allows you to keep your computer clutter-free: only install packages you actually need.
The MiKTeX Update Wizard helps you to keep your MiKTeX system up-to-date by installing the latest package updates.
The TeX output viewer Yap allows for an optimized edit-compile-view cycle (if the TeX authoring system in use supports source specials).
The MiKTeX package repository is updated regularly.
MiKTeX is open source. You are welcome to redistribute MiKTeX under certain conditions.
Download MiKTeX 2.9.6161 Dev Test 2 (158MB download / 651MB installed) [Complete installation > 3GB]
Download MiKTeX Launcher Portable 1.0.1 Dev Test 1 (328KB download / 244KB installed)
Notes: For any holdouts from 2.9.4757 Standalone, please update to 2.9.5063 Dev Test 1 or newer. This is now a CommonFiles plugin and is not compatible with prior standalone versions. Old versions are available from the SourceForge project page. From here forward (hopefully), MiKTeX Portable users will not have to update their base app unless they require a full reinstall. This is due to the complexity of preserving all user settings and packages between installs as well as the ability to access internal update settings and package management available to all users. Also of note is that there are known issues when trying to invoke the updater from within Options or Package Manager, so the preferred method is to use the above launcher to open the taskbar menu and run the updater directly from there. This is not a problem with this portable version specifically but it is a confirmed issue for MiKTeX in general.
Optional: For alternative frontends to MiKTeX (instead of the built-in TeXworks), consider using one of my other apps for added functionality: LyX, Texmaker Plus, TeXstudio Plus, and TeXworks.
Optional: If you want to add your own packages to MiKTeX and they can't be installed automatically, you can follow these instructions (thanks to d4winds):
- Add a folder called LocalTeX to the CommonFiles folder and add local TeX files using the same directory structure as the miktex directory
- Run MiKTeX Launcher Portable and select Options. Skip to 4 if you have 2.9.5063 Dev Test 1 or later
- Add your folder under the Roots tab
- Go back to the General tab and press "Refresh FNDB"
See all release notes at the SourceForge project page.
You da man!
MikTeXPortable.exe will execute, giving an icon in the system tray. Upon right-clicking that icon & selecting, say, "Update MikTeX" or "MikTeX Package Manager", one is greeted with the error message "No such file or directory: X:\PortableApps\MiKTeXPortable\App\MiKTeX\miktex\config\miktexstartup.ini". The entire directory "App\MiKTeX\miktex\config" is missing. Apparently it is not getting copied from the Data\miktex_config directory into the directory App\MikTeX\miktek\config.
I realized a problem after I updated these apps that I only put a copy of the relevant files in the DefaultData folder, so they won't be used if there's already a data folder inside. I'll make a note of it in the text above (and on the other apps I did this for). Sorry for the inconvenience. In the mean time, the easy fix is to copy the folders in App\DefaultData to Data, and it should work.
Default Data was copied to Data but I get the same error message. The issue is either:
(1) the config directories in the Data folder are Not getting copied into their respective locations in the App\MikTeX folder; or,
(2) item (1) only appears to be the case but instead, after launching the miktex-taskbar-icon process, the MikTeXPortable process closes, restoring the config directories in App\MikTeX to their empty, pre-DirectoriesMove status while the miktex-taskbar-icon process stays alive but attempts to use now-emptied config directories.
It is (2) that seems to be going on, since from the Task Manager the MikTeXPortable.exe is never visible to the eye but the miktex-taskbar-icon.tmp process stays in view. For typical PA.c programs, both the AppNamePortable.exe process and the App\AppName\AppName.exe process launched by it remain in view in the Task Manager.
Head over to the project page and downgrade to Dev Test 2 for the time being while I sort this mess out. Sorry for the inconvenience.
At first thank you very much.
The update works now.
Is it really necessary that the setup delete the old MiKTex to install the update?
The separated packs are great because you don't have the pointless miktex icon in the taskbar. thx
The answer is yes, but just for this version. Because of a screwup on my part, items will be left behind from previous versions upon upgrade (because they were in the Data folder potentially). The next version, whenever it happens, will not behave like this, because it will assume everyone is upgrading from a 'safe' version. Sorry for the inconveniences it creates for those who use the config files.
Also, technically, if you run MiKTeX Portable, the icon would still be there, but I think I know what you mean.
ok, that would be great.
that is true, but as you closed protex it didn't closed miktex
That's actually one of the things I fixed in the most recent version of MiKTeX... and the reason I released Dev Test 4.
I think you misunderstanding me because I mean TeXstudio doesn't open MiKTeX. Before we used the separated packs, we used the package proTeXt. proTeXt always opens MiKTeX but proTeXt doesn't close it. TeXstudio only uses it to compile the script. The only issue I could find in Dev 3 was that you couln't update it, but that is fixed now.
It appears that the DirectoriesMove in the Launcher\MikTeXPortable.ini file may be unnecessary. I experimented by copying the MikTeX directory including config files of the DirectoriesMove (the copy was executed while MikTeXPortable was running to include all these files in the copy) to an entirely separate location. I then double-clicked on miktex-portable.cmd in the copied/relocated MikTeX directory, let the icon come up in the icon tray, right-clicked on the icon and clicked on Exit. The MikTeXPortable executable was never used. I used a version of LyX with an environment variable pointing to the moved/relocated MikTeX. LyX was run on a test file, always pointing to the moved MikTex, pre- and post-run of the file "miktex-portable.cmd." On the pre-run the LaTeX generated by LyX failed to compile, of course, and no pdf output could be produced. On the post-run, the file was compiled and displayed beautifully in the pdf output. On both the pre- and post-runs the miktek-icon in the icon tray had already been Exited and, further, MIkTeXPortable.exe was not running. Given the above experiment, doesn't seem unnecessary to do the DirecotoriesMove? If so, then MikTeXPortable can be greatly simplified and there are 2 reasons to use it: (1) for a quick invoke/tray-icon-exit to let MikTeX reset its root after a move of the USB or (2) regular MikTeX maintenance for package updating, etc. In particular, it would not be necessary to keep it open just to use TeXStudio, e.g.
Originally, I had searched down everything that were considered configuration files and saved them in the Data folder because of problems I've had in the past with other applications. MiKTeX, it seems, wouldn't be affected too much if I kept those files in the proper place. Right now, I'm rather busy, but I will probably be able to "revert" the portable version, making it more usable in the long run.
Updated to 2.9.4250 Dev Test 5. Addresses issues brought up above with external usability.
Sorry for the slow response; have been on an extended vacation. The line 'DirectoryMoveOK=true' in Launcher\MikTeXPortable.ini should read
'DirectoryMoveOK=yes'. (Otherwise one gets a PA warning upon performing Exit from the MikTeX taskbar-icon and re-execution of MikTeXPortable.exe.)
Wow... not sure how I missed that one. Thanks for the catch, and I'll try to get a new version up sooner than later.
Edit: There's also a new version of the base app (finally) so I'll be posting an updated version that has the fix as well as any new features. My connection is a bit slow so it may take a little longer but I will get it done.
Updated to 2.9.4757 Dev Test 1. See release notes for details.
Should be on the "Get Apps" page of PA.c. This is major enabling software for LaTeX-based document processing, such as your own portabilization of TeXStudio, or LyX. Good show.
I want to pose a question to the people that use MiKTeX portable: how many of you actually use TeXworks as the editor? I ask because I was thinking that it may be a good idea for me to make MiKTeX into a Common Files plugin (similar to Ghostscript or jPortable) so that it is more easily located by other apps (such as my own TeXstudio Plus). Thanks for any input you care to give.
TeXworks is fascinating and is improving, but TeXstudio is a better editor.
I am not sure, but if anyone use TeXworks installer, not necesarily finish mixed with MikTeX. Besides that, the path could be added to MikTeX settings.
Sumatra is a nice viewer.
Since it can run standalone, I added to portable Firefox and refered to it, with "Tool - Options - Applications" and also to LyX.
TeXWorks:Personally I do not use TeXWorks much at all, preferring TeXStudio/TeXMaker for straight LaTeX.
CommonFiles: Yes, that IS the location for MIkTeX to my mind, since MikTeX is a behind-the-scenes, platform utility like jPortable.
Added a CommonFiles plugin version of 2.9.4757 Dev Test 1 for download. To use this in LyX and TeXstudio Plus, you must change the path manually (for now).
Can I move my already installed MiKTeX to CommonFiles?
You should be able to but the portable format of the plugin is slightly different than an installed application. Don't forget to update paths in related applications though.
Ok thanks. I got one more question. Do I have to rename it to "MiKTex" or can I leave it "MiKTexPortable"?
Either should be fine, as long as you update the paths accordingly.
(1) one extremely small typo:
in AppInfo\AppInfo.ini, you have
It should read
same typo occurs in the non-plugin MikTeXPortable
(2)this plug-in (or its non-plugin mate) should go official & be on the main PA.c GetApps page; it is a major piece of enabling software; just my 2 bits
This is actually not a typo. Dev Tests should have a PackageVersion below the DisplayVersion because if it is ever released officially, the PackageVersion can be incremented and therefore it allows testers to update via the PA.c updater.
thanks for the education
Others may find this useful:
MIkTeX repositories are huge but do not have all packages. There are many custom LaTeX packages (e.g., document classes & bib styles for a particular university's thesis or for particular journals, etc.). For a single project, one may simply add them to the directory containing the LaTeX or LyX file. To have them available more often, one may desire to have them in MikTeX, but MikTeX may wipe them out on an update, so they should go into a local tex tree.
To portably create a local tex tree, one installs MikTeXPortable, then
(1)adds to the Data directory a sub-directory such as MyLocalTex;
(2)adds the local tex files using a directory stucture subordinate to MyLocalTeX that is identical to the one subordinate to MikTexPortable\App\MikTeX;
(3)executes MikTeXPortable, goes to MikTex Options>Roots>Add and browses to MyLocalTeX & OKs out; and then
(4)goes to the General tab & hits 'Refresh FNDB'.
Done. That's it. The local tex tree goes with you wherever you take MikTexPortable & is automatically portably available. (MikTeX stores the location of MyLocalTeX in the miktexstartup.ini w/i the miktex\config dir as a directory name relative to that dir).
In step (2) often the desired tex files are available as a zip archive with the proper structure so the archive can just be extracted with 7zip into MyLocalTeX.
since there is no Data dir for the plugin, one can create a directory LocalTexmf, say, under CommonFiles to contain the non-MikTeX-maintained--i.e., user-maintained/updated--local texmf. Examples of materials to go in the local texmf are style files for use by
R-Portable and sweave;
MikTeX cannot be updated unless user has the secret knowledge to exec the taskbar-icon.exe in the dir CommonFiles\Miktex\miktex
bin\internal. A trivial PA, "MiktexUpdatePortale" or some such, that supplies this missing functionality and that, unlike CommonFiles\.., can be recognized in the PA menu may be helpful.
This could function similar to, say, the XAMPP launcher. I could even resurrect the original launcher code to handle any registry items that may be changed... I'll have to look into it to see for certain. I may have to reinclude the built-in TeXworks, unfortunately, since the taskbar icon has that as an option... Or I could have a separate launcher for the options and one for the package manager; gives people more flexibility that way and I don't have to worry about reincluding anything. So much to consider.
The Regshot results were clean.
Procedure & Context:
Testing confined to (1) exec of taskbar-icon.exe in CommonFiles\Miktex\miktex\bin\intrnal, (2)selecting Miktex Options from taskbar-icon menu,(3)exec'ing "Refresh FNDB", (4)exiting the taskbar-icon. Context: sterile XP-SP3 VM from an Admin acct.
All mods to registry and files were to either to the Miktex files, as desired and expected, or from on-going system processes and AV, or from Win Explorer use (...Explorer\ComDlg32\... keys under HKU, e.g.). There was one HKLM mods not from the AV; it was for the Cryptography random seed and was under HKLM rather than HKU due to the Admin acct.
Added MiKTeX Options Portable 2.9.4204 Dev Test 1 and MiKTeX Package Manager Portable 2.9.4196 Dev Test 1. Both require MiKTeX to be installed and provide easy access to the options panel and package manager respectively. Both use a batchfile to call the appropriate options currently until a better method (preferably NSIS) is found.
I decided to do a test to see the total size of a complete installation of MiKTeX and all packages. For anyone who is interested, the full install clocks in at 3.28 GB.
the precise dir-filename was "%Temp%\nsv1AD.tmp\registry.dll";
the fix, as I recall from a comment by Haller on another tex app, is to include
same fix, I think
MiktexPackageManagerPortable, e.g., reported that it could not find the Update Wizard;
for MiktexOPtions.. this path fix looks primarily preventive; Refresh FNDB, Update Formats, e.g., worked fine; however, even from MiktexOPtions one can call the PackageManager, in which case the absence of Miktex binaries from the path would again lead to failures.
Please refrain from multi-posting. Post a single reply after fully forming it. Multiple postings in a single thread and multiple edits show up as new in the Recent Posts tracker that all the site admins use to keep an eye on spam and bugs.
Sometimes, the impossible can become possible, if you're awesome!
edit button is off-limits, got it
It is to be expected that if MiKTeX isn't installed that it wouldn't be able to find the binaries when it runs. As for the update wizard, that same issue occurs in the installed version as well and is not exclusive to the portable one. I'm not quite sure what it's looking for, to be honest, since all of the binaries are there. If I remember correctly, all the update wizard does is synchronize the database, select all updatable packages, and installed them which can be accomplished by those exact steps individually. I will look into it, however, since it appears to be a possible usability issue. If I can't find a solution, I'll put a note in the original post.
I looked around and it appears that this is a known error in recent versions. So far, the original developer has acknowledged it but has done nothing to fix the error from what I can tell. As such, I'll put a note in the original post about this when I update.
Updated to MiKTeX Options Portable 2.9.4204 Dev Test 2 and MiKTeX Package Manager 2.9.4196 Dev Test 2. See release notes for details.
First thing is that I'm probably going to remove MiKTeX Package Manager Portable as its own thing because, as previously mentioned, it can be reached my MiKTeX Options Portable, making it unnecessary.
Second is that a newer version of the base package will probably have to come out since the original 2.9.4757 that was released cannot find the miktex/bin/internals folder by default. This was a known issue and it can only be fixed by manual run of miktex/bin/internal/miktex-update.exe and updating all components. A clean and updated version will provide the newest versions of these.
Third, on the next update, there will be a folder called "local" in the base folder of MiKTeX. This is going to be the preferred location for user-added packages and will be preserved on upgrade. Unfortunately, no other packages will be preserved on this next release because I am unsure as to what other folders are 'safe' to preserve on upgrade.
Lastly, this update may not be for a little while since my internet connection is horrid right now and it could take a long time to work properly. If anyone can figure out which folders are safe to keep on upgrade, that would be fantastic and I can add them to the list of preserved directories.
concerning local tex tex trees, please read
per the response therein,
Create a folder somewhere on your computer – with an important exception. It must not be a subfolder of your MiKTeX installation (it worked this way in older MiKTeX versions, but was changed for security reasons)
Looks like I won't have to worry about saving the local TeX tree after all. Okay, well best practice is still going to be in CommonFiles anyway. Only problem is I don't know how paths are stored in MiKTeX Portable... that could be an issue.
I think they're all relative to the location of miktekstartup.ini in MiKTeX\miktex\config; but keeping track of user-defined roots isn't nec.;
the user from taskbar-icon>Miktex Options>Roots points to new user-root for her texmf tree; Miktex then adds that root within the miktekstartup.ini on the RHS of 'UserRoots=...' statement in the [Paths] section thereof;
e.g., on a Win 7 Pro box I have the original non-plugin, non-CommonFiles MikTexPortable with App & Data dirs; I located a local texmf tree in the Data dir as Data\LocalTexmf; in miktexstartup.ini, I have the following:
Relative paths make my life much easier. Okay, well in the next release I'll be tweaking the "How to add your own stuff" section. Still working on a viable way of allowing access to necessary options without allowing access to TeXworks, primarily. If I can't find a way, I may just concede and keep it in at the expense of putting in registry and file checks in the options launcher.
no need to worry about saving; but a user note for a good standard location is a good idea; my suggestion would be a dir under CommonFiles named 'LocalTexmf' or 'LocalTexTree' or some such; a user is unlikely, knowing the need of MikteX and/or other stuff in CommonFiles, to forget to take CommonFiles\LocalTexmf along with them on even a smallish usb, simply because it's easiest to bring the whole CommonFiles; but it (the local tex tree) could be anywhere on the usb so long as its **relative location** to the Miktex dir does not change;
also, although Miktex will not maintain the local tex tree, it **must** know about it by setting Miktex Options>Roots; otherwise latex, pdflatex, etc. will not know of its contents; once informed of the local tex tree & 'Refresh FNDB' is done, Miktex does not need to be re-informed on every drive-dir change; one-and-done;
see my post supra
"Regshot clean testing taskbar-icon.exe"
The purpose of the tiny app proposed by this post's title, is merely to exec the binary 'miktex-taskbar-icon.exe' in '...\CommonFiles\MiKTeX\miktex\bin\internal';
I had actually used that back in ProTeXt and when MiKTeX was standalone before I removed TeXworks. The only issue with that is that it includes Yap, TeXworks, and Command Prompt as hard-coded options which I would like to avoid giving end users access to. Unless I build it myself, I can't remove those errant options, which causes and issue since I remove TeXworks from the package.
the package manager is exec'd from MiktexOptions..., since it can be via the "Start Package Manager' button Packages tab
a "-=HKCU\Software\MiKTeX.org" or something similar may be in order in the launcher for MiktexOPtions
Curiously, if the PM is not exec'd from MiktexOptions..., no registry keys are modified.
I was able to confirm these in an installed version as well. The only notable key is one that indicates "force admin", which I would prefer to have set to "f" all the time. Not sure what it defaults to though, but I will test it. There are a lot of changes accumulating for the next release. Hopefully, the next release will be a formality and people who have it installed will not have to reinstall the whole package afterward; just keep their individual ones up to date using the built-in tools.
from the tests on MiktexOptions w/ & w/o exec'ing PM from it, MiktexPM.. undoubtedly creates same reg keys, tho' I have not explicitly tested w/ Regshot.
the Miktex Update Wizard is extremely handy; not how to exec it from MiktexOptions or MiktexPackageMqanager;
I've been rather busy with non-PA.c stuff, so there will be a delay in anything that I manage to get working. Having the separate apps is nice, but so would the taskbar icon. Either way, I will get around the inherent issues in MiKTeX Portable (the officially released version) and make it usable for PA.c without causing much of an issue. I'll still have time to look at posts here and respond, but don't expect a new build for a little bit as I work things out.
Updated to 2.9.5063 Dev Test 1. See release notes and original post for details.
context: XP(SP3) VM, Admin; fresh installs of 2.9.5063 DT1 & of MiktexLauncherPortable;
exec'd MiktexLauncherPortable;got taskbar-icon;
Miktex Options went fine; then closed it & opened 'Update Miktex'; it found nearest repository & supplied package selection list for update/repair; clicked 'Next' & got the error message of the title of this post
from the Log:
Error: The MiKTeX package management utility could not be found
fyi: also unexpected was that Miktex indicated that all of the packages needing update/repair needd **Repari**(3 needed repair; sorry, did not record which; but if memory serves, they were miktex-related, not latex-related
reconstructed the test ab initio since could not ascertain a bona fide explanation; re-construction did **Not** reproduce the error condition since, in part. no repairs were found to be nec.; ie., ignore--at least for now until things are fully clarified--both the error report & the fyi about 'repairs'; will have to re-examine at another date; perhaps someone else can shed light on **whether** & if so, when, an explicable error occurs
This is actually the same thing that results in the package manager not being able to find the updater. As stupid as it may sound, even the standalone and natively portable versions do the same thing. I forgot to make note of the vice-versa nature of the updater and the package manager. As for the updates, I could only be so up to date on the released package as there's always bound to be more. Hence my note that it's up to the users to keep their own versions up to date now and my package updates will only be periodic or preventative.
have waited to respond until I had true occasion to update MikTeX, as opposed to merely adding new packages;
select "Update Miktex" from the taskbar-icon';
go through the wizard;
updated packages are downloaded by the wizard;
then get this message: "The MikTeX package management utility could not be found." Same message is duplicated on the miktex log.
This error from the "Update Miktex" sequence is ***Not*** encountered from the installed version.
context: sterile XP(SP3) from Admin account with clean out-of-the-box installs of MiKTeXPortable_2.9.5063_Dev_Test_1_English.paf.exe & of MiKTeXLauncherPortable_1.0.0_Dev_Test_1_English.paf.exe;
not only is there no error like "...cannot find the package manager" from the installed version of Miktex upon exec'ing "Update MIkTeX" from the taskbar-icon, there is also no such error from the Portable, zipped version of MikTex from "http://miktex.org/portable" (viz., that obtaoned by using the self-extracting executable miktex-portable-2.9.4757.exe). From this usb version from MikTex.org, I launched miktex-portable.cmd & then selected "Update MikTeX" from the taskbar-icon; there were no issues whatsoever.
Thus, MikTexPortable is itself flawed. It **Is** missing binaries. For one thing, "mpm.exe" is not in the miktex\bin dir of the current version of MikTeXPortable (CommonFiles plugin; specifically, "MiKTeXPortable_2.9.5063_Dev_Test_1_English.paf.exe"). FYI, merely adding that single executable to the miktex\bin dir did Not rectify the error condition; so other binaries and/ data (small 'd') files present in the usb version from Miktex.org must be missing as well.
On this last repackage, I scrapped my prior portable base and started from scratch. Somehow, when I was moving the files over from the clean portable install, it must have missed them. I can verify that the folders are definitely not identical (not counting the PA.c specific stuff). I will do another clean update and will have it posted within the next couple of days. My current connection has just been getting worse and worse throughout the semester.
Updated to 2.9.5105 Dev Test 1. See release notes for details.
On a related note, this took a long time to get out because of finals, a final project, the holidays, a horrible internet connection, and a new official package coming out from MiKTeX in the mean time. This is based on that new package and should be item-complete as such.
Does anyone maintain it?
I would be great to have a fully working portable Tex Environment (Editor + Compiler).
I took over this project. A new Dev Test is available ->here.
Updated to 2.9.6161 Dev Test 1. Another one in mwayne's court if they want to continue to keep maintaining it. Just throwing this here in the mean time.
I installed it (Both the MiKTeX and the Launcher).
When I run the launcher I get the Icon on the System Tray.
Yet when I Right Click it nothing on the menu works.
I mean nothing happens when I click on MiKTeX Options, TeXWorks, Package Manager, etc...
It used to work on the previous release.
Maybe it has to do with the issues I'm having with LyX?
It honestly might be my hasty updates. I'll have to take a look into this, as some things may have changed place in the mean time.
I just tried by bypassing the launcher entirely and seeing if there's something amiss with the actual MiKTeX code, and there seems to be. Even launching the icon by itself and trying to launch anything causes nothing to happen, similarly to what you're seeing. I don't think this has to do with the package, but I will check...
Yep, it was my hasty updates. I tried to force the new structure into the old structure and it broke some things. A new version of both the plugin and launcher are coming out soonish.
Updated to 2.9.6161 Dev Test 2 and Launcher 1.0.1 Dev Test 1. See release notes for details.
Since this one is big, it may take a while for it to upload and post on SF.
Any chance you move your projects to GitHub?
Odds are no right now. I did attempt that a while back but I just can't be bothered with getting a Git repo set up for every single one. Using the FTP capabilities of SourceForge are enough for me for now. Plus, I'm not really doing anything that deserves a repo. If you download it, you see everything I do.
The problem with SF is that they are blocked in many places.
Anyhow, will be great if it is done in the future.
Thank you for your great contribution.
Version 2.9.6236 of MiKTeX is out.
Any chance to update?
darksabre76, Are you still on this?
I fell ill between my last update and now. I'm finally back on the upswing so I should finally be able to actually get to this stuff. Being sick sucks.
Nothing is important compared to that.
I wish you to feel good.
How do you feel?
Any chance for update soon?