Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Every once in a while after updating MiKTeX, the installation gets into an inconsistent state. This might be a problem with the packages (an example is described in this question), but sometimes packages are split or renamed. The cases I remember are when amslatex was split into amsmath and amscls and when miktex-etex-base-2,9 was renamed to miktex-etex-base-2.9 (if I recall correctly; I am sure it was either that or something very similar). In each case the MiKTeX Update process suggested to remove the "old" packages but it didn't give the user any hints about him having to manually add the respective replacement packages back in the package manager to get one's MiKTeX installation back into a usable state.

What are best practices for keeping MiKTeX up to date? Note that I'm not asking about installing new packages or fonts in general; there are other questions covering this area.

  • In which order should one execute the Update process and the Synchronization of the repository?
  • According to user Kurt, it is recommended to check the MiKTeX homepage before updating. What else should one do?
  • When and in which order (and why) should one execute the "Refresh FNDB" and "Update Formats" processes within the MiKTeX Options menu?
  • What else can happen? Other advice?
share|improve this question
    
It was miktex-etex-base before (without the versioning), IIRC. –  Speravir Apr 13 '13 at 2:33
    
It's worth mentioning Madam Ulrike Fischer's comment to amsmath Q and she can give her practical best-practices answer here –  texenthusiast Apr 13 '13 at 3:16
2  
I have TeX Live installed besides MiKTeX, in case something in MiKTeX gets messed up (see Using MiKTeX and TeX Live on the same computer? and Change from MiKTeX to TeX Live). Does that count as a “best practice”? :) –  doncherry Apr 13 '13 at 5:11
    
@doncherry Well ! that would too much best practices :). –  texenthusiast Apr 13 '13 at 5:35
    
@Speravir Okay. I do remember something happening with something with 2,9 in its name as well. (Perhaps it had both names at some point in time.) –  Lover of Structure Apr 13 '13 at 17:56
show 1 more comment

1 Answer

up vote 8 down vote accepted

Synchronization: Miktex has an offline database which contains informations about available packages, their content and how to install them. Miktex needs such an offline database for the on-the-fly installation: Beside other problems it would slow down the compilation a lot if miktex would download the informations every time a file is missing.

When new packages are added to the online repositories, or if for some reason packages are rearranged or renamed the offline database on your PC is no longer up-to-date and you should "synchronize". As you can't know if this is the case you should use sensible rule of thumbs: Synchronize every month, if the update manager has removed some package, before running a lot of updates, if you are looking for a new package, if you get curious errors.

Updates: You should run regularly the update manager in admin + user mode to check for new packages. Before clicking on the "update" button, use your brain: updates do change the system and so can break it. Don't update when you don't have the time to handle problems. Don't update if packages are removed and you don't understand the implications. It doesn't do any harm to wait some days (I have miktex on three systems and their age differ by weeks).

FNDB + formats: In general it is not necessary to run the commands if you install packages with the package manager. But it can be necessary to run "updmap" as user to update your user map-files. If you install files manually you should always update the FNDB (in admin + user mode if you don't know which one is the right one), it doesn't harm to update the formats.

share|improve this answer
    
I'll add one implication that follows from your writing: if one executes Synchronize and Update, one should do Synchronize first; that is, it wouldn't make sense to do it the other way round or to execute Synchronize a second time after Update. –  Lover of Structure Apr 13 '13 at 17:53
    
@LoverofStructure: No. The update manager compares the list of installed packages with an online list. This is not affected by the synchronization. The synchronization status affects only the behaviour of the package manager and the on-the-fly-installations - when new packages (really new or due to renames) are involved. –  Ulrike Fischer Apr 14 '13 at 15:01
    
I see. So: Are Update and Synchronize are more or less independent actions that can be run on different schedules? Or should one, because Update doesn't require Synchronize but Synchronize is affected by Update, run Synchronize every time after one runs Update? –  Lover of Structure Apr 15 '13 at 0:30
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.