What is the preferable setup for MiKTeX to keep all packages up-to-date easily?

13,735

Solution 1

If you choose "Install missing packages on-the-fly: Ask me first", MiKTeX will ask you each time whether a package should be installed for all users or only for you. That way you can install all packages into the main MiKTeX admin folder. enter image description here

Solution 2

I'm always installing a basic MiKTeX in my user account "only for me". This works fine even if the user account has only restricted rights. There is no need to give this user admin rights or something similar. I simply log-in in the user account and install MiKTeX. Naturally the main texmf tree must be installed in a folder where the user account has the right to write.

Imho a single user installation is the best for a lot of people. Many don't understand that in a multi user installation user settings can overwrite admin settings and that quite often you must manage your installation as admin and as user. About 90% of problems with map-files e.g. are due to misunderstandings regarding user/admin settings.

I'm using the basic installation because it is faster (some packages like cm-super can take a lot time to install), when I upgrade I prefer to import all the other packages from the previous MiKTeX on my machine. Also there is less danger that the download or installation fails if the connection breaks or if one package is defective. At last: a basic installation keeps the list of packages in the update manager short as I see only updates for package I actually use.

Solution 3

I mainly use Update(Admin) but from time to time use the package manager to clean installed on-fly packages from my user folder and install again as admin user those which I want to keep.

Share:
13,735

Related videos on Youtube

Igor Kotelnikov
Author by

Igor Kotelnikov

Updated on February 27, 2020

Comments

  • Igor Kotelnikov
    Igor Kotelnikov over 3 years

    By default, MiKTeX is set up for all users to the folder

    C:\Program Files\MiKTeX 2.9
    However, packages added on-the-fly go to the folder

    C:\Users\CurrentUser\AppData\Roaming\MiKTeX\2.9

    (in case of Windows 7) specific for the current user.

    As to me, it was the origin for subtle errors when I tried to update my MiKTeX installation. Going to Start, All Programs, MiKTeX 2.9, the menu shows Maintenance and Maintenance (Admin) as submenus. I thought I could ignore Maintenance and only use the Update (Admin) utility from Maintenance (Admin). It appeared however that the packages installed on-the-fly are not updated by Update (Admin). As a result, updated packages sometimes conflicted with non-updated packages. This especially is a pity since experimental packages, such as l3kernel, l3packages, fontspec, polyglossia, unicode-math, sometimes conflict even if they are all updated [I have this case right now!].

    So my question is: What is the best practice for installing and using MiKTeX?

    I am the only user on all my computers, but I used to accept the default method of installing MiKTeX (for all users) since once I tried to install MiKTeX in the for me only mode but met some troubles (don't remember exactly which ones).

    • Werner
      Werner about 12 years
      I would say the best practice is to install an entire distribution (and forego an on-the-fly or as-needed installation): (i) I doubt whether it will slow down compilation when searching for the few packages that you may use (out of everything); (ii) Hardware space nowadays is not a concern any more compared to pre-2000's (say); and (iii) Most people have enough bandwidth to accommodate a full installation without additional expenses with their service provider. The aforementioned items even hold throughout the lifetime of the distribution.
    • Igor Kotelnikov
      Igor Kotelnikov about 12 years
      @Werner: I would agree with you if more than 2000 LaTeX packages available to the date be in equally supported state. Many packages do the same, eg, caption, caption2, xcaption. Thus, installing only packages on my choice give me feeling (perhaps, deceptive) that I keep my appartment clean.
    • Werner
      Werner about 12 years
      Well played. My desk is pretty cluttered as is. :-|
    • doncherry
      doncherry about 12 years
      Please don't use blockquote markup for emphasis. Use bold or italic instead, if you deem it necessary. We like to keep markup semantic here, just like in LaTeX itself.
    • doncherry
      doncherry almost 12 years
      I went over your question and tried to improve it in some respects, hope you don't mind. As usual, feel free to revert any of my edits if you disagree with them. Furthermore, I'd still be interested in an answer to my comment on Ulrike's answer below.
    • texenthusiast
      texenthusiast about 10 years
  • Igor Kotelnikov
    Igor Kotelnikov about 12 years
    What about selection of languages? Recent versions of basic setup are preconfigured to take all available languages. I suspect that this makes the compilation slower though the effect might be negligible on moderm computers.
  • Ulrike Fischer
    Ulrike Fischer about 12 years
    I personally have selected only a few languages. I don't see any reason to blow up my formats with a lot of patterns I never use even if it doesn't slow down compilation (which I don't know).
  • Igor Kotelnikov
    Igor Kotelnikov about 12 years
    What address you are installing MiKTeX into? MikTeX installer does not provide default address when installing in the "for me only" mode. If you are taking C:\Program Folder (default for admin mode) then Admin utilities (Settings, Package manager, Update) run properly only if you right click corresponding Start menus and choose Run as Administrator. If you are taking some address outside C:\Program Folder this increases security risk since Windows specially cares C:\Program Folder to prevent occasional deletion or invection of executables inside that folder.
  • Ulrike Fischer
    Ulrike Fischer about 12 years
    I'm normally using a non-standard folder. Something like D:\miktex.
  • doncherry
    doncherry about 12 years
    If you use C:\Program Folder and you're required to run the maintenance programs as an admin, you can right-click the tools in the start menu (e.g. "Update"), choose "Properties", "Compatability" and check "Run as Administrator". This only has to be done once. I strongly suggest switching to Ulrike's answer as the accepted answer, unless there's a specific reason you still prefer Ignasi's solution, which would be good to hear.
  • Ari Brodsky
    Ari Brodsky over 10 years
    This doesn't work for me. When the "Package Installation" dialog box comes up, the only option under "The package will be installed for:" is my own user name. I imagine this has something to do with permissions: When I'm running MiKTeX as a local user, how would I have permission to install the package in the texmf tree where I don't have write permission?
  • djnavas
    djnavas over 8 years
    I had problems of Windows 7 not allowing me to update MikTeX. After reading article 29616 (this) and 51799, I discovered that I must navigate to "C:\Program Files\MikTeX\miktex\bin" and from there execute mo_admin.exe or mpm_mfc_admin.exe, that requires administrative permisions, that are not linked in the start menu (I am using install 'only for me'). The similar programs linked in the start menu, does not requires administrative permissions and are unable to update MikTeX or install packages, even if I run it with the context menu (right clik over the menu entry), 'run as administrator'.
  • Dr. Manuel Kuehner
    Dr. Manuel Kuehner over 5 years
    Nice answer - never thought about that before. I have a question: If two people work on one computer and both install MiKTeX in the mode that you recommend (only for me), are there then two separate MiKTeX installations that don't know of each other (i. e. double occupied disk space)? As I understand it, yes.