WindowsInstaller: multiple improvements and fixes

move windowsinstaller to /package
update artwork
adapt to conda builds
make msvc redist directory optional
automate version information definition
use relative directories for file locations definitions
improve/update readme
partially update Delete.bat for qt6 libpack
add .gitignore
update signing.bat and add hashing command

WindowsInstaller: use --safe-mode in freecadcmd commands [skip ci]

WindowsInstaller: make windows 8 the minimum version [skip ci]

WindowsInstaller: allow configuring some values via command line

windows installer update for qt6 build
This commit is contained in:
Adrián Insaurralde Avalos
2024-03-31 11:49:57 -04:00
committed by Adrian Insaurralde Avalos
parent a847a794c4
commit d466ba037b
64 changed files with 163 additions and 174 deletions

5
package/WindowsInstaller/.gitignore vendored Normal file
View File

@@ -0,0 +1,5 @@
*.exe
*-SHA256.txt
MSVCRedist
FreeCAD
version.nsh

View File

@@ -0,0 +1,47 @@
del /S *_d.*
del /S *_debug.*
del /S *.pyc
del /S *.pdb
del /S boost*-gd-*.dll
cd bin
del assistant.exe
del Coin4d.dll
del designer.exe
del freetyped.dll
del libcrypto-3d.dll
del libEGLd.dll
del libGLESv2d.dll
del libssl-3d.dll
del linguist.exe
del qdoc.exe
del Qt6Concurrentd.dll
del Qt6Cored.dll
del Qt6DBusd.dll
del Qt6DesignerComponentsd.dll
del Qt6Designerd.dll
del Qt6Guid.dll
del Qt6Helpd.dll
del Qt6LabsAnimationd.dll
del Qt6LabsFolderListModeld.dll
del Qt6LabsPlatformd.dll
del Qt6LabsSettingsd.dll
del Qt6LabsSharedImaged.dll
del Qt6LabsWavefrontMeshd.dll
del Qt6MultimediaWidgetsd.dll
del Qt6Multimediad.dll
del Qt6Networkd.dll
del Qt6OpenGLWidgetsd.dll
del Qt6OpenGLd.dll
del Qt6PrintSupportd.dll
del Qt6SpatialAudiod.dll
del Qt6Sqld.dll
del Qt6SvgWidgetsd.dll
del Qt6Svgd.dll
del Qt6Testd.dll
del Qt6UiToolsd.dll
del Qt6Widgetsd.dll
del Qt6Xmld.dll
del QtWebEngineProcessd.exe
del Quarter1d.dll
del xerces-c_3_2D.dll
del zlibd.dll

Binary file not shown.

View File

@@ -0,0 +1,74 @@
/*
FreeCAD Installer for Windows
Author: Uwe Stöhr
Compatible with NSIS 3.x
*/
# Do a Cyclic Redundancy Check to make sure the installer
# was not corrupted by the download.
CRCCheck on
# make it a Unicode installer
Unicode true
# enable support for high DPI resolution
ManifestDPIAware true
# installer settings like version numbers
!include settings.nsh
# declarations of FreeCAD's registry keys
!include include\declarations.nsh
# Multi-User settings
!define MULTIUSER_EXECUTIONLEVEL Highest
!define MULTIUSER_INSTALLMODE_COMMANDLINE
!define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY "${APP_UNINST_KEY}"
!define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME "DisplayVersion"
!define MULTIUSER_INSTALLMODE_INSTDIR "${APP_DIR}"
!define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY "${APP_REGKEY}"
!define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME ""
!define MULTIUSER_INSTALLMODE_FUNCTION InitUser
!define MULTIUSER_MUI
# included NSIS files
!include InstallOptions.nsh
!include LangFile.nsh
!include Library.nsh
!include LogicLib.nsh
!include MUI2.nsh
!include MultiUser.nsh
!include Sections.nsh
!include WinVer.nsh
!include x64.nsh
# load the nsPprocess plugin
!include nsProcess.nsh
# Set of various macros and functions
!include include\utils.nsh
# set up the installer pages
!include include\gui.nsh
# sets the install sections and checks the system on starting the un/installer
!include include\init.nsh
# install FreeCAD and needed third-party programs like Python etc.
!include setup\install.nsh
# uninstall FreeCAD and all programs that were installed together with FreeCAD
!include setup\uninstall.nsh
# configure FreeCAD (set start menu and write registry entries)
!include setup\configure.nsh
#--------------------------------
# Output file
Outfile "${SETUP_EXE}"
# sign the installer executable
!finalize 'signing.bat ${SETUP_EXE}'

View File

@@ -0,0 +1,504 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random
Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,62 @@
/*
Settings for FreeCAD installer
These typically need to be modified for each FreeCAD release
*/
# Make the installer as small as possible
# Using /SOLID is usually better for file size but it can't be used if the original size is
# more than 2GB, if building with /SOLID fails try disabling it
# comment this or use /DFC_TEST_BUILD command line option for testing builds since it will reduce
# the time to create an installer a lot at the cost of a much greater file size.
# So assure it is active for release builds!
!ifndef FC_TEST_BUILD
SetCompressor /SOLID lzma
!endif
#--------------------------------
# File locations
# !!! you may need to adjust them to the folders in your Windows system !!!
# can be specified with /D command line argument to makensis.exe
!ifndef FILES_FREECAD
!define FILES_FREECAD "${__FILEDIR__}\FreeCAD"
!endif
!ifndef FILES_THUMBS
!define FILES_THUMBS "${__FILEDIR__}\thumbnail"
!endif
# msvc redistributables location is required for LibPack builds but not conda
# when using a LibPack build set the redistributables directory location here
# or with /D command line argument to makensis.exe
#!define FILES_DEPS "${__FILEDIR__}\MSVCRedist"
#--------------------------------
# get version info from freecadcmd
!system "${FILES_FREECAD}\bin\freecadcmd.exe --safe-mode -c $\"import datetime; print(f'!define COPYRIGHT_YEAR {datetime.date.today().year}')$\">${__FILEDIR__}\version.nsh" = 0
!system "${FILES_FREECAD}\bin\freecadcmd.exe --safe-mode -c $\"print(f'!define APP_VERSION_MAJOR \$\"{App.Version()[0]}\$\"')$\">>${__FILEDIR__}\version.nsh" = 0
!system "${FILES_FREECAD}\bin\freecadcmd.exe --safe-mode -c $\"print(f'!define APP_VERSION_MINOR \$\"{App.Version()[1]}\$\"')$\">>${__FILEDIR__}\version.nsh" = 0
!system "${FILES_FREECAD}\bin\freecadcmd.exe --safe-mode -c $\"print(f'!define APP_VERSION_PATCH \$\"{App.Version()[2]}\$\"')$\">>${__FILEDIR__}\version.nsh" = 0
!system "${FILES_FREECAD}\bin\freecadcmd.exe --safe-mode -c $\"print(f'!define APP_VERSION_REVISION \$\"{App.Version()[3].split()[0]}\$\"')$\">>${__FILEDIR__}\version.nsh" = 0
!include "${__FILEDIR__}\version.nsh"
!delfile "${__FILEDIR__}\version.nsh"
!define APP_VERSION_EMERGENCY "" # use "1" for an emergency release of FreeCAD otherwise ""
# alternatively you can use APP_VERSION_EMERGENCY for a custom suffix of the version number
!define APP_EMERGENCY_DOT "" # use "." for an emergency release of FreeCAD otherwise ""
!define APP_VERSION_BUILD 1 # Start with 1 for the installer releases of each version
!define APP_VERSION "${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}.${APP_VERSION_PATCH}${APP_EMERGENCY_DOT}${APP_VERSION_EMERGENCY}" # Version to display
#--------------------------------
# Installer file name
# Typical names for the release are "FreeCAD-020-Installer-1.exe" etc.
!ifndef ExeFile
!define ExeFile "${APP_NAME}_${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}.${APP_VERSION_PATCH}${APP_VERSION_EMERGENCY}-Windows-x86_64-installer-${APP_VERSION_BUILD}.exe"
!endif
#--------------------------------
# installer bit type - FreeCAD is only provided as 64bit build
!define MULTIUSER_USE_PROGRAMFILES64

View File

@@ -0,0 +1,2 @@
signtool.exe sign /f FCweborg.pfx /p FreeCADIsCool /fd sha512 /tr http://timestamp.digicert.com /td sha512 /v %1
certutil -hashfile %1 SHA256 > %1-SHA256.txt

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

View File

@@ -0,0 +1,82 @@
/*
declaration.nsh
Configuration and variables of FreeCAD installer
*/
#--------------------------------
# File locations
!define FILES_LICENSE "license.rtf"
#--------------------------------
# Names and version
!define APP_NAME "FreeCAD"
!define APP_VERSION_NUMBER "${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}.${APP_VERSION_PATCH}.${APP_VERSION_BUILD}"
# For the proposed install folder we use the scheme "FreeCAD 0.18"
# however for the Registry, we need the scheme "FreeCAD 0.18.x" in order
# to check if it is exactly this version (to support side-by-side installations)
!define APP_SERIES_NAME "${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}"
!define APP_SERIES_KEY "${APP_VERSION_MAJOR}${APP_VERSION_MINOR}${APP_VERSION_PATCH}${APP_VERSION_EMERGENCY}"
!define APP_SERIES_KEY2 "${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}.${APP_VERSION_PATCH}${APP_EMERGENCY_DOT}${APP_VERSION_EMERGENCY}"
!define APP_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\${APP_NAME}.exe"
!define APP_DIR "${APP_NAME} ${APP_SERIES_NAME}"
# Fixme: FC should use different preferences folder for every release
!define APP_DIR_USERDATA ${APP_NAME}
#!define APP_DIR_USERDATA "${APP_NAME}${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}"
!define APP_SHORTCUT_INFO "${APP_NAME} - Your Own 3D Parametric Modeler"
!define APP_INFO "Install/Uninstall ${APP_NAME}"
!define APP_WEBPAGE "https://www.freecad.org/"
!define APP_WEBPAGE_INFO "${APP_NAME} Website"
!define APP_WIKI "https://wiki.freecad.org/Main_Page"
!define APP_WIKI_INFO "${APP_NAME} Wiki"
!define APP_COPYRIGHT "${APP_NAME} is Copyright © 2001-${COPYRIGHT_YEAR} by the ${APP_NAME} Team"
!define APP_RUN "bin\${APP_NAME}.exe"
!define BIN_FREECAD "${APP_NAME}.exe"
!define APP_REGKEY "SOFTWARE\${APP_NAME}${APP_SERIES_KEY}" # like "FreeCAD0180"
!define APP_REGKEY_SETUP "${APP_REGKEY}\Setup"
!define APP_REGKEY_SETTINGS "${APP_REGKEY}\Settings"
!define APP_REGNAME_DOC "${APP_NAME}.Document"
!define APP_EXT ".FCStd"
!define APP_EXT1 ".FCStd1"
!define APP_MIME_TYPE "application/x-zip-compressed"
!define APP_EXT_BAK ".FCBak"
!define APP_EXT_MACRO ".FCMacro"
!define APP_EXT_MAT ".FCMat"
!define APP_EXT_SCRIPT ".FCScript"
!define APP_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SETUP_UNINSTALLER_KEY}"
#--------------------------------
# Setup settings
!define SETUP_EXE ${ExeFile}
!define SETUP_ICON "icons\FreeCAD.ico"
!define SETUP_HEADERIMAGE "graphics\header.bmp"
!define SETUP_WIZARDIMAGE "graphics\banner.bmp"
!define SETUP_UNINSTALLER "Uninstall-${APP_NAME}.exe"
!define SETUP_UNINSTALLER_KEY "${APP_NAME}${APP_SERIES_KEY}"
#--------------------------------
# Variables that are shared between multiple files
Var APPDATemp
Var AppPre
var AppSubfolder
Var AppSuff
Var CreateDesktopIcon
Var CreateFileAssociations
Var OldVersionNumber
Var Pointer
Var Search
Var StartmenuFolder
Var String
Var UserList
Var LangName

View File

@@ -0,0 +1,100 @@
/*
gui.nsh
Installer user interface settings
*/
#--------------------------------
# General
Name "${APP_NAME} ${APP_VERSION}"
BrandingText " "
#--------------------------------
# Interface settings
!define MUI_ABORTWARNING
!define MUI_ICON "${SETUP_ICON}"
!define MUI_UNICON "${SETUP_ICON}"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "${SETUP_HEADERIMAGE}"
!define MUI_HEADERIMAGE_RIGHT
!define MUI_WELCOMEFINISHPAGE_BITMAP "${SETUP_WIZARDIMAGE}"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "${SETUP_WIZARDIMAGE}"
#--------------------------------
# Pages
# Installer
# Welcome page
!define MUI_WELCOMEPAGE_TEXT $(TEXT_WELCOME)
!insertmacro MUI_PAGE_WELCOME
# Show the license.
!define MUI_LICENSEPAGE_BUTTON $(^NextBtn)
!define MUI_LICENSEPAGE_TEXT_BOTTOM " "
!insertmacro MUI_PAGE_LICENSE "${FILES_LICENSE}"
# Select install mode
# set custom function for additional checks after the user selected the install mode
# note: will not be called in silent mode
!define MULTIUSER_PAGE_CUSTOMFUNCTION_LEAVE PostMultiUserPageInit
!insertmacro MULTIUSER_PAGE_INSTALLMODE
# Specify the installation directory.
!insertmacro MUI_PAGE_DIRECTORY
# Define which components to install.
!insertmacro MUI_PAGE_COMPONENTS
# Specify where to install program shortcuts.
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "${APP_DIR}"
!insertmacro MUI_PAGE_STARTMENU ${APP_NAME} $StartmenuFolder
# Watch the components being installed.
!insertmacro MUI_PAGE_INSTFILES
# The option to run FreeCAD from the finish page is currently disabled because
# it may run with Administrator privileges, therefore causing a different
# user directory to be used. This could be fixed by creating a separate
# process without UAC elevation.
#!define MUI_FINISHPAGE_RUN_TEXT "$(FinishPageRun)"
#!define MUI_FINISHPAGE_RUN "$INSTDIR\${APP_RUN}"
!define MUI_FINISHPAGE_SHOWREADME
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!define MUI_FINISHPAGE_SHOWREADME_FUNCTION StartFreeCAD
!define MUI_FINISHPAGE_SHOWREADME_TEXT $(FinishPageRun)
!define MUI_FINISHPAGE_LINK $(TEXT_FINISH_WEBSITE)
!define MUI_FINISHPAGE_LINK_LOCATION "https://www.freecad.org/"
#!define MUI_PAGE_CUSTOMFUNCTION_SHOW CheckDesktopShortcut
!insertmacro MUI_PAGE_FINISH
# Uninstaller
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_COMPONENTS
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
#--------------------------------
# Installer Languages
!include lang\TranslatedLanguages.nsh
#--------------------------------
# Version information
VIProductVersion "${APP_VERSION_NUMBER}"
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${APP_NAME}"
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "${APP_DIR}.${APP_VERSION_PATCH}"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "${APP_INFO}"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${APP_VERSION}"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "${APP_COPYRIGHT}"
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "${APP_NAME} Team"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" ""

View File

@@ -0,0 +1,198 @@
/*
init.nsh
Initialization functions
*/
#--------------------------------
# User initialization
Var FCLangName
Function InitUser
# Get FreeCAD language
ReadRegStr $FCLangName SHELL_CONTEXT "${APP_REGKEY_SETUP}" "FreeCAD Language"
${If} $FCLangName != ""
StrCpy $LangName $FCLangName
${EndIf}
FunctionEnd
#--------------------------------
# MultiUser custom method
Function PostMultiUserPageInit
# check if this FreeCAD version is already installed
ReadRegStr $0 SHCTX "${APP_UNINST_KEY}" "UninstallString"
${if} $0 != ""
# check if the uninstaller was accidentally deleted
# if so, don't bother the user if they really want to install a new FreeCAD over an existing one
# because they won't have a chance to deny this
# remove quotes from uninstaller filename
${TrimQuotes} $0 $0
# skip message box if uninstaller file is missing
IfFileExists $0 0 ContinueInstall
# installing over an existing installation of the same FreeCAD release is not necessary
# if the users does this, they most probably have a problem with FreeCAD that can better be solved
# by reinstalling FreeCAD
# for beta and other test releases over-installing can even cause errors
MessageBox MB_YESNOCANCEL "$(AlreadyInstalled)" /SD IDCANCEL IDYES ContinueInstall IDNO BackToMuiltUserPage
Quit
BackToMuiltUserPage:
Abort
ContinueInstall:
${endif}
# check if there is an existing FreeCAD installation of the same FreeCAD series
# we usually don't release more than 10 versions so with 20 we are safe to check if a newer version is installed
IntOp $4 ${APP_VERSION_PATCH} + 20
${for} $5 0 $4
ReadRegStr $0 SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}${APP_VERSION_MAJOR}${APP_VERSION_MINOR}$5" "DisplayVersion"
# also check for an emergency release
${if} $0 == ""
ReadRegStr $0 SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}${APP_VERSION_MAJOR}${APP_VERSION_MINOR}$51" "DisplayVersion"
${endif}
${if} $0 != ""
StrCpy $R5 $0 # store the read version number
StrCpy $OldVersionNumber "${APP_VERSION_MAJOR}${APP_VERSION_MINOR}$5"
# we don't stop here because we want the latest installed version
${endif}
${next}
# NSIS cannot handle numbers with leading zero, thus cut it off before comparing
StrCpy $1 $OldVersionNumber "" 1
StrCpy $2 ${APP_SERIES_KEY} "" 1
${if} $1 > $2
# store the version number and reformat it temporarily for the error message
StrCpy $R0 $OldVersionNumber
StrCpy $OldVersionNumber $R5
MessageBox MB_OK|MB_ICONSTOP "$(NewerInstalled)" /SD IDOK
StrCpy $OldVersionNumber $R0
Quit
${endif}
FunctionEnd
#--------------------------------
# visible installer sections
Section "!${APP_NAME}" SecCore
SectionIn RO
SectionEnd
Section "$(SecFileAssocTitle)" SecFileAssoc
StrCpy $CreateFileAssociations "true"
SectionEnd
Section "$(SecDesktopTitle)" SecDesktop
StrCpy $CreateDesktopIcon "true"
SectionEnd
# Section descriptions
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecCore} "$(SecCoreDescription)"
!insertmacro MUI_DESCRIPTION_TEXT ${SecFileAssoc} "$(SecFileAssocDescription)"
!insertmacro MUI_DESCRIPTION_TEXT ${SecDesktop} "$(SecDesktopDescription)"
!insertmacro MUI_FUNCTION_DESCRIPTION_END
# .onInit must be here after the section definition because we have to set
# the selection states of the dictionary sections
Function .onInit
ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
${if} $R0 == "5.0" # 2000
${orif} $R0 == "5.1" # XP
${orif} $R0 == "5.2" # 2003
${orif} $R0 == "6.0" # Vista
${orif} $R0 == "6.1" # 7
MessageBox MB_OK|MB_ICONSTOP "${APP_NAME} ${APP_VERSION} requires Windows 8 or newer." /SD IDOK
Quit
${endif}
# check if it is a 64bit system
${if} ${RunningX64}
SetRegView 64
!define LIBRARY_X64
${endif}
# Check that FreeCAD is not currently running
${nsProcess::FindProcess} ${BIN_FREECAD} $R0
# if running result is '0', if not running it is '603'
${if} $R0 == "0"
MessageBox MB_OK|MB_ICONSTOP "$(UnInstallRunning)" /SD IDOK
Abort
${endif}
# plugin must be unloaded
${nsProcess::Unload}
# initialize the multi-user installer UI
!insertmacro MULTIUSER_INIT
# this can be reset to "true" in section SecDesktop
StrCpy $CreateDesktopIcon "false"
StrCpy $CreateFileAssociations "false"
${IfNot} ${Silent}
# Show banner while installer is initializing
Banner::show /NOUNLOAD "Checking system"
Banner::destroy
${EndIf}
# if installer runs silent the post install mode page routine has to be called here
${If} ${Silent}
Call PostMultiUserPageInit
${endif}
FunctionEnd
# this function is called at first after starting the uninstaller
Function un.onInit
# Macro to investigate name of FreeCAD's preferences folders to be able remove them
!insertmacro UnAppPreSuff $AppPre $AppSuff # macro from Utils.nsh
!insertmacro MULTIUSER_UNINIT
# Check that FreeCAD is not currently running
${nsProcess::FindProcess} ${BIN_FREECAD} $R0
# if running result is '0', if not running it is '603'
${if} $R0 == "0"
MessageBox MB_OK|MB_ICONSTOP "$(UnInstallRunning)" /SD IDOK
Abort
${endif}
# plugin must be unloaded
${nsProcess::Unload}
# check if it is a 64bit system
${if} ${RunningX64}
SetRegView 64
${endif}
# Ascertain whether the user has sufficient privileges to uninstall.
# abort when FreeCAD was installed with admin permissions but the user doesn't have administrator privileges
ReadRegStr $0 HKLM "${APP_UNINST_KEY}" "DisplayVersion"
${if} $0 != ""
${andif} $MultiUser.Privileges != "Admin"
${andif} $MultiUser.Privileges != "Power"
MessageBox MB_OK|MB_ICONSTOP "$(UnNotAdminLabel)" /SD IDOK
Abort
${endif}
# warning when FreeCAD couldn't be found in the registry
${if} $0 == "" # check in HKCU
ReadRegStr $0 HKCU "${APP_UNINST_KEY}" "DisplayVersion"
${if} $0 == ""
MessageBox MB_OK|MB_ICONEXCLAMATION "$(UnNotInRegistryLabel)" /SD IDOK
${endif}
${endif}
# question message if the user really wants to uninstall FreeCAD
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "$(UnReallyRemoveLabel)" /SD IDYES IDYES +2 # continue if yes
Abort
FunctionEnd

View File

@@ -0,0 +1,271 @@
# This script contains the following functions:
#
# - un.DelAppPathSub and UnAppPreSuff,
# (delete the folder ~\Documents and Settings\username\Application Data\FreeCAD for all users), uses:
# un.GetParentA
# un.GetUsers
# un.StrPoint
# StrPointer
# StrPoint
# UnAppPreSuff
#
# - FileCheck (checks if a given file exists)
#
#--------------------------
!macro StrPointer FindStr SearchStr Pointer
# searches for a string/character (SearchStr) in another string (FindStr)
# and returns the number of the character in the FindStr where the SearchStr was found (Pointer)
# if nothing was found or the search is impossible the Pointer is set to -1
StrLen $R2 "${SearchStr}"
StrLen $R4 "${FindStr}"
StrCpy $R5 0
${if} $R2 == 0
${orif} $R4 == 0
Goto NotFound
${endif}
IntCmp $R4 $R2 loopA NotFound
loopA:
StrCpy $R3 "${FindStr}" $R2 $R5
StrCmp $R3 "${SearchStr}" Found
IntOp $R5 $R5 + 1
IntCmp $R4 $R5 loopA NotFound
Goto loopA
Found:
StrCpy ${Pointer} $R5
Goto done
NotFound:
StrCpy ${Pointer} "-1"
done:
!macroend
#--------------------------------
Function StrPoint
!insertmacro StrPointer $String $Search $Pointer
FunctionEnd
#--------------------------------
!macro RevStrPointer FindStr SearchStr Pointer
# searches for a string/character (SearchStr) in another string (FindStr) in reverse order
# and returns the number of the character in the FindStr where the SearchStr was found (Pointer)
# if nothing was found or the search is impossible the Pointer is set to +1
StrLen $R2 ${SearchStr}
StrLen $R4 ${FindStr}
${if} $R2 == 0
${orif} $R4 == 0
Goto NotFound
${endif}
IntCmp $R4 $R2 loopA NotFound
StrCpy $R5 "-$R2"
loopA:
StrCpy $R3 ${FindStr} $R2 $R5
StrCmp $R3 ${SearchStr} Found
IntOp $R5 $R5 - 1
IntCmp "$R5" "-$R4" loopA NotFound
Goto loopA
Found:
StrCpy ${Pointer} $R5
Goto done
NotFound:
StrCpy ${Pointer} "+1"
done:
!macroend
#--------------------------------
!macro AppPreSuff AppPre AppSuff
# the APPDATA path for a local user has for WinXP and 2000 the following structure:
# C:\Documents and Settings\username\Application Data
# for Win Vista the structure is:
# C:\Users\username\AppData\Roaming
# this macro saves the "C:\Documents and Settings\" substring into the variable "AppPre"
# and the "Application Data" substring into the variable "AppSuff"
# switch temporarily to local user because the all users application data path is in
# Vista only C:\ProgramData
SetShellVarContext current
StrCpy $String "$APPDATA"
Var /GLOBAL APPDATemp
StrCpy $APPDATemp "$APPDATA"
${If} $MultiUser.Privileges == "Admin"
${OrIf} $MultiUser.Privileges == "Power"
SetShellVarContext all # move back to all users
${endif}
StrCpy $Search "\"
Call StrPoint # search for the first "\"
IntOp $Pointer $Pointer + 1 # jump after the "\"
StrCpy $String $String "" $Pointer # cut off the part before the first "\"
StrCpy $0 $Pointer
Call StrPoint # search for the second "\"
IntOp $0 $0 + $Pointer # $0 is now the pointer to the second "\" in the APPDATA string
StrCpy ${AppPre} $APPDATemp $0 # save the part before the second "\"
IntOp $Pointer $Pointer + 1 # jump after the "\"
StrCpy $String $String "" $Pointer # cut off the part before the second "\"
Call StrPoint # search for the third "\"
IntOp $Pointer $Pointer + 1 # jump after the "\"
StrCpy ${AppSuff} $String "" $Pointer # save the part after the third "\"
!macroend
#--------------------------------
Function un.GetParentA
# deletes a subfolder of the APPDATA path for all users
# used by the function "un.getUsers"
Exch $R0
Push $R1
Push $R2
Push $R3
StrCpy $R1 0
StrLen $R2 $R0
loop:
IntOp $R1 $R1 + 1
IntCmp $R1 $R2 get 0 get
StrCpy $R3 $R0 1 -$R1
StrCmp $R3 "\" get
Goto loop
get:
StrCpy $R0 $R0 -$R1
Pop $R3
Pop $R2
Pop $R1
Exch $R0
FunctionEnd
#--------------------------------
Function un.GetUsers
# reads the subfolders of the "Documents and Settings" folder to get a list of the users
StrCpy $R3 ""
Push "$PROFILE"
Call un.GetParentA
Pop $R2
StrCpy $R2 "$R2"
FindFirst $R0 $R1 "$R2\*"
StrCmp $R1 "" findend 0
findloop:
IfFileExists "$R2\$R1\*.*" 0 notDir
StrCmp $R1 "." notDir
StrCmp $R1 ".." notDir
StrCmp $R1 "All Users" notDir
StrCmp $R1 "Default User" notDir
StrCmp $R1 "All Users.WINNT" notDir
StrCmp $R1 "Default User.WINNT" notDir
StrCpy $R3 "$R3|$R1"
notDir:
FindNext $R0 $R1
StrCmp $R1 "" findend 0
Goto findloop
findend:
FindClose $R0
FunctionEnd
#--------------------------------
Function un.StrPoint
!insertmacro StrPointer $String $Search $Pointer
FunctionEnd
#--------------------------------
!macro UnAppPreSuff AppPre AppSuff
# the APPDATA path for a local user has for WinXP and 2000 the following structure:
# C:\Documents and Settings\username\Application Data
# for Win Vista the structure is:
# C:\Users\username\AppData\Roaming
# this macro saves the "C:\Documents and Settings\" substring into the variable "AppPre"
# and the "Application Data" substring into the variable "AppSuff"
SetShellVarContext current # switch temoprarily to local user
StrCpy $String "$APPDATA"
StrCpy $APPDATemp "$APPDATA"
${if} $MultiUser.Privileges == "Admin"
${orif} $MultiUser.Privileges == "Power"
SetShellVarContext all # move back to all users
${endif}
StrCpy $Search "\"
Call un.StrPoint # search for the first "\"
IntOp $Pointer $Pointer + 1 # jump after the "\"
StrCpy $String $String "" $Pointer # cut off the part before the first "\"
StrCpy $0 $Pointer
Call un.StrPoint # search for the second "\"
IntOp $0 $0 + $Pointer # $0 is now the pointer to the second "\" in the APPDATA string
StrCpy ${AppPre} $APPDATemp $0 # save the part before the second "\"
IntOp $Pointer $Pointer + 1 # jump after the "\"
StrCpy $String $String "" $Pointer # cut off the part before the second "\"
Call un.StrPoint # search for the third "\"
IntOp $Pointer $Pointer + 1 # jump after the "\"
StrCpy ${AppSuff} $String "" $Pointer # save the part after the third "\"
!macroend
#--------------------------------
Function un.DelAppPathSub
# deletes a subfolder of the APPDATA path for all users
# get list of all users
Push $R0
Push $R1
Push $R2
Push $R3
Call un.GetUsers
StrCpy $UserList $R3 "" 1 # cut off the "|" at the end of the list
Pop $R3
Pop $R2
Pop $R1
Pop $R0
# the usernames in the list of all users is separated by "|"
loop:
StrCpy $String "$UserList"
StrCpy $Search "|"
Call un.StrPoint # search for the "|"
StrCmp $Pointer "-1" ready
StrCpy $0 $UserList $Pointer # $0 contains now the username
IntOp $Pointer $Pointer + 1 # jump after the "|"
StrCpy $UserList $UserList "" $Pointer # cut off the first username in the list
# generate the string for the current user
# AppPre and AppSuff are generated in the macro "AppPreSuff"
RMDir /r "$AppPre\$0\$AppSuff\$AppSubfolder" # delete the folder
Goto loop
ready:
StrCpy $0 $UserList
RMDir /r "$AppPre\$0\$AppSuff\$AppSubfolder" # delete the folder
FunctionEnd
#--------------------------------
#source: https://nsis.sourceforge.io/Trim_quotes
Function TrimQuotes
Exch $R0
Push $R1
StrCpy $R1 $R0 1
StrCmp $R1 `"` 0 +2
StrCpy $R0 $R0 `` 1
StrCpy $R1 $R0 1 -1
StrCmp $R1 `"` 0 +2
StrCpy $R0 $R0 -1
Pop $R1
Exch $R0
FunctionEnd
!macro _TrimQuotes Input Output
Push `${Input}`
Call TrimQuotes
Pop ${Output}
!macroend
!define TrimQuotes `!insertmacro _TrimQuotes`

View File

@@ -0,0 +1,17 @@
1. Take the file 'FreeCAD-filename-SHA256.txt'
2. Save it to the location of the file you want to checksum
3. Rename it so that you replace 'filename' with the name of your file you want to checksum.
Thereby don't forget that the file ending has to be part of the name.
4. Open the file in a text editor
5.
* Either (if you have 7-Zip installed):
1. right-click on the file you want to checksum
2. select in the context menu "7-Zip -> CRC SHA -> SHA-256"
3. copy the content of the appearing dialog to the text file
* Or
1. run Windows' 'certutil' utility in the command line, e.g.:
certutil -hashfile FreeCAD-0.20.0-WIN-x64-installer-1.exe SHA256
2. Copy the resulting hash from the command line to the file
3. Update file size and filename in the file

View File

@@ -0,0 +1,3 @@
Name: FreeCAD-0.19.3-WIN-x64-installer-1.exe
Size: 583773656 bytes (556 MiB)
SHA256: d4cc7869b7bb1c3e5c7b4fe75a578bc825d191d4cd4054fa015d7ae83c6f51f7

View File

@@ -0,0 +1,260 @@
<html><head><title>ISO 3166 Codes (Countries)</title></head><body>
<h1>ISO 3166 Codes (Countries)</h1>
Updated by the RIPE Network Coordination Centre, in coordination with
the ISO 3166 Maintenance Agency, Berlin
<p>
See also:
</p><ul>
<li><a href="http://www.iso.org/iso/en/prods-services/iso3166ma/index.html">ISO 3166
Maintenance agency (ISO 3166/MA)</a>
</li><li><a href="http://www.davros.org/misc/iso3166.html">Country codes in ISO 3166</a>
<p>
</p><pre>Country A 2 A 3 Number
----------------------------------------------------------------------
AFGHANISTAN AF AFG 004
ALBANIA AL ALB 008
ALGERIA DZ DZA 012
AMERICAN SAMOA AS ASM 016
ANDORRA AD AND 020
ANGOLA AO AGO 024
ANGUILLA AI AIA 660
ANTARCTICA AQ ATA 010
ANTIGUA AND BARBUDA AG ATG 028
ARGENTINA AR ARG 032
ARMENIA AM ARM 051
ARUBA AW ABW 533
AUSTRALIA AU AUS 036
AUSTRIA AT AUT 040
AZERBAIJAN AZ AZE 031
BAHAMAS BS BHS 044
BAHRAIN BH BHR 048
BANGLADESH BD BGD 050
BARBADOS BB BRB 052
BELARUS BY BLR 112
BELGIUM BE BEL 056
BELIZE BZ BLZ 084
BENIN BJ BEN 204
BERMUDA BM BMU 060
BHUTAN BT BTN 064
BOLIVIA BO BOL 068
BOSNIA AND HERZEGOWINA BA BIH 070
BOTSWANA BW BWA 072
BOUVET ISLAND BV BVT 074
BRAZIL BR BRA 076
BRITISH INDIAN OCEAN TERRITORY IO IOT 086
BRUNEI DARUSSALAM BN BRN 096
BULGARIA BG BGR 100
BURKINA FASO BF BFA 854
BURUNDI BI BDI 108
CAMBODIA KH KHM 116
CAMEROON CM CMR 120
CANADA CA CAN 124
CAPE VERDE CV CPV 132
CAYMAN ISLANDS KY CYM 136
CENTRAL AFRICAN REPUBLIC CF CAF 140
CHAD TD TCD 148
CHILE CL CHL 152
CHINA CN CHN 156
CHRISTMAS ISLAND CX CXR 162
COCOS (KEELING) ISLANDS CC CCK 166
COLOMBIA CO COL 170
COMOROS KM COM 174
CONGO, Democratic Republic of (was Zaire) CD COD 180
CONGO, People's Republic of CG COG 178
COOK ISLANDS CK COK 184
COSTA RICA CR CRI 188
COTE D'IVOIRE CI CIV 384
CROATIA (local name: Hrvatska) HR HRV 191
CUBA CU CUB 192
CYPRUS CY CYP 196
CZECH REPUBLIC CZ CZE 203
DENMARK DK DNK 208
DJIBOUTI DJ DJI 262
DOMINICA DM DMA 212
DOMINICAN REPUBLIC DO DOM 214
EAST TIMOR TL TLS 626
ECUADOR EC ECU 218
EGYPT EG EGY 818
EL SALVADOR SV SLV 222
EQUATORIAL GUINEA GQ GNQ 226
ERITREA ER ERI 232
ESTONIA EE EST 233
ETHIOPIA ET ETH 231
FALKLAND ISLANDS (MALVINAS) FK FLK 238
FAROE ISLANDS FO FRO 234
FIJI FJ FJI 242
FINLAND FI FIN 246
FRANCE FR FRA 250
FRANCE, METROPOLITAN FX FXX 249
FRENCH GUIANA GF GUF 254
FRENCH POLYNESIA PF PYF 258
FRENCH SOUTHERN TERRITORIES TF ATF 260
GABON GA GAB 266
GAMBIA GM GMB 270
GEORGIA GE GEO 268
GERMANY DE DEU 276
GHANA GH GHA 288
GIBRALTAR GI GIB 292
GREECE GR GRC 300
GREENLAND GL GRL 304
GRENADA GD GRD 308
GUADELOUPE GP GLP 312
GUAM GU GUM 316
GUATEMALA GT GTM 320
GUINEA GN GIN 324
GUINEA-BISSAU GW GNB 624
GUYANA GY GUY 328
HAITI HT HTI 332
HEARD AND MC DONALD ISLANDS HM HMD 334
HONDURAS HN HND 340
HONG KONG HK HKG 344
HUNGARY HU HUN 348
ICELAND IS ISL 352
INDIA IN IND 356
INDONESIA ID IDN 360
IRAN (ISLAMIC REPUBLIC OF) IR IRN 364
IRAQ IQ IRQ 368
IRELAND IE IRL 372
ISRAEL IL ISR 376
ITALY IT ITA 380
JAMAICA JM JAM 388
JAPAN JP JPN 392
JORDAN JO JOR 400
KAZAKHSTAN KZ KAZ 398
KENYA KE KEN 404
KIRIBATI KI KIR 296
KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF KP PRK 408
KOREA, REPUBLIC OF KR KOR 410
KUWAIT KW KWT 414
KYRGYZSTAN KG KGZ 417
LAO PEOPLE'S DEMOCRATIC REPUBLIC LA LAO 418
LATVIA LV LVA 428
LEBANON LB LBN 422
LESOTHO LS LSO 426
LIBERIA LR LBR 430
LIBYAN ARAB JAMAHIRIYA LY LBY 434
LIECHTENSTEIN LI LIE 438
LITHUANIA LT LTU 440
LUXEMBOURG LU LUX 442
MACAU MO MAC 446
MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF MK MKD 807
MADAGASCAR MG MDG 450
MALAWI MW MWI 454
MALAYSIA MY MYS 458
MALDIVES MV MDV 462
MALI ML MLI 466
MALTA MT MLT 470
MARSHALL ISLANDS MH MHL 584
MARTINIQUE MQ MTQ 474
MAURITANIA MR MRT 478
MAURITIUS MU MUS 480
MAYOTTE YT MYT 175
MEXICO MX MEX 484
MICRONESIA, FEDERATED STATES OF FM FSM 583
MOLDOVA, REPUBLIC OF MD MDA 498
MONACO MC MCO 492
MONGOLIA MN MNG 496
MONTSERRAT MS MSR 500
MOROCCO MA MAR 504
MOZAMBIQUE MZ MOZ 508
MYANMAR MM MMR 104
NAMIBIA NA NAM 516
NAURU NR NRU 520
NEPAL NP NPL 524
NETHERLANDS NL NLD 528
NETHERLANDS ANTILLES AN ANT 530
NEW CALEDONIA NC NCL 540
NEW ZEALAND NZ NZL 554
NICARAGUA NI NIC 558
NIGER NE NER 562
NIGERIA NG NGA 566
NIUE NU NIU 570
NORFOLK ISLAND NF NFK 574
NORTHERN MARIANA ISLANDS MP MNP 580
NORWAY NO NOR 578
OMAN OM OMN 512
PAKISTAN PK PAK 586
PALAU PW PLW 585
PALESTINIAN TERRITORY, Occupied PS PSE 275
PANAMA PA PAN 591
PAPUA NEW GUINEA PG PNG 598
PARAGUAY PY PRY 600
PERU PE PER 604
PHILIPPINES PH PHL 608
PITCAIRN PN PCN 612
POLAND PL POL 616
PORTUGAL PT PRT 620
PUERTO RICO PR PRI 630
QATAR QA QAT 634
REUNION RE REU 638
ROMANIA RO ROU 642
RUSSIAN FEDERATION RU RUS 643
RWANDA RW RWA 646
SAINT KITTS AND NEVIS KN KNA 659
SAINT LUCIA LC LCA 662
SAINT VINCENT AND THE GRENADINES VC VCT 670
SAMOA WS WSM 882
SAN MARINO SM SMR 674
SAO TOME AND PRINCIPE ST STP 678
SAUDI ARABIA SA SAU 682
SENEGAL SN SEN 686
SEYCHELLES SC SYC 690
SIERRA LEONE SL SLE 694
SINGAPORE SG SGP 702
SLOVAKIA (Slovak Republic) SK SVK 703
SLOVENIA SI SVN 705
SOLOMON ISLANDS SB SLB 090
SOMALIA SO SOM 706
SOUTH AFRICA ZA ZAF 710
SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS GS SGS 239
SPAIN ES ESP 724
SRI LANKA LK LKA 144
ST. HELENA SH SHN 654
ST. PIERRE AND MIQUELON PM SPM 666
SUDAN SD SDN 736
SURINAME SR SUR 740
SVALBARD AND JAN MAYEN ISLANDS SJ SJM 744
SWAZILAND SZ SWZ 748
SWEDEN SE SWE 752
SWITZERLAND CH CHE 756
SYRIAN ARAB REPUBLIC SY SYR 760
TAIWAN TW TWN 158
TAJIKISTAN TJ TJK 762
TANZANIA, UNITED REPUBLIC OF TZ TZA 834
THAILAND TH THA 764
TOGO TG TGO 768
TOKELAU TK TKL 772
TONGA TO TON 776
TRINIDAD AND TOBAGO TT TTO 780
TUNISIA TN TUN 788
TURKEY TR TUR 792
TURKMENISTAN TM TKM 795
TURKS AND CAICOS ISLANDS TC TCA 796
TUVALU TV TUV 798
UGANDA UG UGA 800
UKRAINE UA UKR 804
UNITED ARAB EMIRATES AE ARE 784
UNITED KINGDOM GB GBR 826
UNITED STATES US USA 840
UNITED STATES MINOR OUTLYING ISLANDS UM UMI 581
URUGUAY UY URY 858
UZBEKISTAN UZ UZB 860
VANUATU VU VUT 548
VATICAN CITY STATE (HOLY SEE) VA VAT 336
VENEZUELA VE VEN 862
VIET NAM VN VNM 704
VIRGIN ISLANDS (BRITISH) VG VGB 092
VIRGIN ISLANDS (U.S.) VI VIR 850
WALLIS AND FUTUNA ISLANDS WF WLF 876
WESTERN SAHARA EH ESH 732
YEMEN YE YEM 887
YUGOSLAVIA YU YUG 891
ZAMBIA ZM ZMB 894
ZIMBABWE ZW ZWE 716
</pre>
</li></ul></body></html>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,554 @@
<!DOCTYPE HTML PUBLIC "-//SoftQuad//DTD HoTMetaL PRO 5.0::19980907::extensions to HTML 4.0//EN" "hmpro5.dtd">
<html><head><title>ISO 639 Language Codes</title></head>
<body>
<h1>ISO 639 Language Codes</h1>
<h2><a name="3letter">ISO 639: 3-letter codes</a></h2>
<pre>abk ab Abkhazian
ace Achinese
ach Acoli
ada Adangme
aar aa Afar
afh Afrihili
afr af Afrikaans
afa Afro-Asiatic (Other)
aka Akan
akk Akkadian
alb/sqi sq Albanian
ale Aleut
alg Algonquian languages
tut Altaic (Other)
amh am Amharic
apa Apache languages
ara ar Arabic
arc Aramaic
arp Arapaho
arn Araucanian
arw Arawak
arm/hye hy Armenian
art Artificial (Other)
asm as Assamese
ath Athapascan languages
map Austronesian (Other)
ava Avaric
ave Avestan
awa Awadhi
aym ay Aymara
aze az Azerbaijani
nah Aztec
ban Balinese
bat Baltic (Other)
bal Baluchi
bam Bambara
bai Bamileke languages
bad Banda
bnt Bantu (Other)
bas Basa
bak ba Bashkir
baq/eus eu Basque
bej Beja
bem Bemba
ben bn Bengali
ber Berber (Other)
bho Bhojpuri
bih bh Bihari
bik Bikol
bin Bini
bis bi Bislama
bra Braj
bre be Breton
bug Buginese
bul bg Bulgarian
bua Buriat
bur/mya my Burmese
bel be Byelorussian
cad Caddo
car Carib
cat ca Catalan
cau Caucasian (Other)
ceb Cebuano
cel Celtic (Other)
cai Central American Indian (Other)
chg Chagatai
cha Chamorro
che Chechen
chr Cherokee
chy Cheyenne
chb Chibcha
chi/zho zh Chinese
chn Chinook jargon
cho Choctaw
chu Church Slavic
chv Chuvash
cop Coptic
cor Cornish
cos co Corsican
cre Cree
mus Creek
crp Creoles and Pidgins (Other)
cpe Creoles and Pidgins, English-based (Other)
cpf Creoles and Pidgins, French-based (Other)
cpp Creoles and Pidgins, Portuguese-based (Other)
cus Cushitic (Other)
hr Croatian
ces/cze cs Czech
dak Dakota
dan da Danish
del Delaware
din Dinka
div Divehi
doi Dogri
dra Dravidian (Other)
dua Duala
dut/nla nl Dutch
dum Dutch, Middle (ca. 1050-1350)
dyu Dyula
dzo dz Dzongkha
efi Efik
egy Egyptian (Ancient)
eka Ekajuk
elx Elamite
eng en English
enm English, Middle (ca. 1100-1500)
ang English, Old (ca. 450-1100)
esk Eskimo (Other)
epo eo Esperanto
est et Estonian
ewe Ewe
ewo Ewondo
fan Fang
fat Fanti
fao fo Faroese
fij fj Fijian
fin fi Finnish
fiu Finno-Ugrian (Other)
fon Fon
fra/fre fr French
frm French, Middle (ca. 1400-1600)
fro French, Old (842- ca. 1400)
fry fy Frisian
ful Fulah
gaa Ga
gae/gdh Gaelic (Scots)
glg gl Gallegan
lug Ganda
gay Gayo
gez Geez
geo/kat ka Georgian
deu/ger de German
gmh German, Middle High (ca. 1050-1500)
goh German, Old High (ca. 750-1050)
gem Germanic (Other)
gil Gilbertese
gon Gondi
got Gothic
grb Grebo
grc Greek, Ancient (to 1453)
ell/gre el Greek, Modern (1453-)
kal kl Greenlandic
grn gn Guarani
guj gu Gujarati
hai Haida
hau ha Hausa
haw Hawaiian
heb he Hebrew
her Herero
hil Hiligaynon
him Himachali
hin hi Hindi
hmo Hiri Motu
hun hu Hungarian
hup Hupa
iba Iban
ice/isl is Icelandic
ibo Igbo
ijo Ijo
ilo Iloko
inc Indic (Other)
ine Indo-European (Other)
ind id Indonesian
ina ia Interlingua (International Auxiliary language Association)
ine - Interlingue
iku iu Inuktitut
ipk ik Inupiak
ira Iranian (Other)
gai/iri ga Irish
sga Irish, Old (to 900)
mga Irish, Middle (900 - 1200)
iro Iroquoian languages
ita it Italian
jpn ja Japanese
jav/jaw jv/jw Javanese
jrb Judeo-Arabic
jpr Judeo-Persian
kab Kabyle
kac Kachin
kam Kamba
kan kn Kannada
kau Kanuri
kaa Kara-Kalpak
kar Karen
kas ks Kashmiri
kaw Kawi
kaz kk Kazakh
kha Khasi
khm km Khmer
khi Khoisan (Other)
kho Khotanese
kik Kikuyu
kin rw Kinyarwanda
kir ky Kirghiz
kom Komi
kon Kongo
kok Konkani
kor ko Korean
kpe Kpelle
kro Kru
kua Kuanyama
kum Kumyk
kur ku Kurdish
kru Kurukh
kus Kusaie
kut Kutenai
lad Ladino
lah Lahnda
lam Lamba
oci oc Langue d'Oc (post 1500)
lao lo Lao
lat la Latin
lav lv Latvian
ltz Letzeburgesch
lez Lezghian
lin ln Lingala
lit lt Lithuanian
loz Lozi
lub Luba-Katanga
lui Luiseno
lun Lunda
luo Luo (Kenya and Tanzania)
mac/mak mk Macedonian
mad Madurese
mag Magahi
mai Maithili
mak Makasar
mlg mg Malagasy
may/msa ms Malay
mal Malayalam
mlt ml Maltese
man Mandingo
mni Manipuri
mno Manobo languages
max Manx
mao/mri mi Maori
mar mr Marathi
chm Mari
mah Marshall
mwr Marwari
mas Masai
myn Mayan languages
men Mende
mic Micmac
min Minangkabau
mis Miscellaneous (Other)
moh Mohawk
mol mo Moldavian
mkh Mon-Kmer (Other)
lol Mongo
mon mn Mongolian
mos Mossi
mul Multiple languages
mun Munda languages
nau na Nauru
nav Navajo
nde Ndebele, North
nbl Ndebele, South
ndo Ndongo
nep ne Nepali
new Newari
nic Niger-Kordofanian (Other)
ssa Nilo-Saharan (Other)
niu Niuean
non Norse, Old
nai North American Indian (Other)
nor no Norwegian
nno Norwegian (Nynorsk)
nub Nubian languages
nym Nyamwezi
nya Nyanja
nyn Nyankole
nyo Nyoro
nzi Nzima
oji Ojibwa
ori or Oriya
orm om Oromo
osa Osage
oss Ossetic
oto Otomian languages
pal Pahlavi
pau Palauan
pli Pali
pam Pampanga
pag Pangasinan
pan pa Panjabi
pap Papiamento
paa Papuan-Australian (Other)
fas/per fa Persian
peo Persian, Old (ca 600 - 400 B.C.)
phn Phoenician
pol pl Polish
pon Ponape
por pt Portuguese
pra Prakrit languages
pro Provencal, Old (to 1500)
pus ps Pushto
que qu Quechua
roh rm Rhaeto-Romance
raj Rajasthani
rar Rarotongan
roa Romance (Other)
ron/rum ro Romanian
rom Romany
run rn Rundi
rus ru Russian
sal Salishan languages
sam Samaritan Aramaic
smi Sami languages
smo sm Samoan
sad Sandawe
sag sg Sango
san sa Sanskrit
srd Sardinian
sco Scots
sel Selkup
sem Semitic (Other)
sr Serbian
scr sh Serbo-Croatian
srr Serer
shn Shan
sna sn Shona
sid Sidamo
bla Siksika
snd sd Sindhi
sin si Singhalese
sit - Sino-Tibetan (Other)
sio Siouan languages
sla Slavic (Other)
ssw ss Siswant
slk/slo sk Slovak
slv sl Slovenian
sog Sogdian
som so Somali
son Songhai
wen Sorbian languages
nso Sotho, Northern
sot st Sotho, Southern
sai South American Indian (Other)
esl/spa es Spanish
suk Sukuma
sux Sumerian
sun su Sudanese
sus Susu
swa sw Swahili
ssw Swazi
sve/swe sv Swedish
syr Syriac
tgl tl Tagalog
tah Tahitian
tgk tg Tajik
tmh Tamashek
tam ta Tamil
tat tt Tatar
tel te Telugu
ter Tereno
tha th Thai
bod/tib bo Tibetan
tig Tigre
tir ti Tigrinya
tem Timne
tiv Tivi
tli Tlingit
tog to Tonga (Nyasa)
ton Tonga (Tonga Islands)
tru Truk
tsi Tsimshian
tso ts Tsonga
tsn tn Tswana
tum Tumbuka
tur tr Turkish
ota Turkish, Ottoman (1500 - 1928)
tuk tk Turkmen
tyv Tuvinian
twi tw Twi
uga Ugaritic
uig ug Uighur
ukr uk Ukrainian
umb Umbundu
und Undetermined
urd ur Urdu
uzb uz Uzbek
vai Vai
ven Venda
vie vi Vietnamese
vol vo Volapük
vot Votic
wak Wakashan languages
wal Walamo
war Waray
was Washo
cym/wel cy Welsh
wol wo Wolof
xho xh Xhosa
sah Yakut
yao Yao
yap Yap
yid yi Yiddish
yor yo Yoruba
zap Zapotec
zen Zenaga
zha za Zhuang
zul zu Zulu
zun Zuni
</pre>
<h2><a name="2letter">ISO 639: 2-letter codes</a></h2>
<pre>AA "Afar"
AB "Abkhazian"
AF "Afrikaans"
AM "Amharic"
AR "Arabic"
AS "Assamese"
AY "Aymara"
AZ "Azerbaijani"
BA "Bashkir"
BE "Byelorussian"
BG "Bulgarian"
BH "Bihari"
BI "Bislama"
BN "Bengali" "Bangla"
BO "Tibetan"
BR "Breton"
CA "Catalan"
CO "Corsican"
CS "Czech"
CY "Welsh"
DA "Danish"
DE "German"
DZ "Bhutani"
EL "Greek"
EN "English" "American"
EO "Esperanto"
ES "Spanish"
ET "Estonian"
EU "Basque"
FA "Persian"
FI "Finnish"
FJ "Fiji"
FO "Faeroese"
FR "French"
FY "Frisian"
GA "Irish"
GD "Gaelic" "Scots Gaelic"
GL "Galician"
GN "Guarani"
GU "Gujarati"
HA "Hausa"
HI "Hindi"
HR "Croatian"
HU "Hungarian"
HY "Armenian"
IA "Interlingua"
IE "Interlingue"
IK "Inupiak"
IN "Indonesian"
IS "Icelandic"
IT "Italian"
IW "Hebrew"
JA "Japanese"
JI "Yiddish"
JW "Javanese"
KA "Georgian"
KK "Kazakh"
KL "Greenlandic"
KM "Cambodian"
KN "Kannada"
KO "Korean"
KS "Kashmiri"
KU "Kurdish"
KY "Kirghiz"
LA "Latin"
LN "Lingala"
LO "Laothian"
LT "Lithuanian"
LV "Latvian" "Lettish"
MG "Malagasy"
MI "Maori"
MK "Macedonian"
ML "Malayalam"
MN "Mongolian"
MO "Moldavian"
MR "Marathi"
MS "Malay"
MT "Maltese"
MY "Burmese"
NA "Nauru"
NE "Nepali"
NL "Dutch"
NO "Norwegian"
OC "Occitan"
OM "Oromo" "Afan"
OR "Oriya"
PA "Punjabi"
PL "Polish"
PS "Pashto" "Pushto"
PT "Portuguese"
QU "Quechua"
RM "Rhaeto-Romance"
RN "Kirundi"
RO "Romanian"
RU "Russian"
RW "Kinyarwanda"
SA "Sanskrit"
SD "Sindhi"
SG "Sangro"
SH "Serbo-Croatian"
SI "Singhalese"
SK "Slovak"
SL "Slovenian"
SM "Samoan"
SN "Shona"
SO "Somali"
SQ "Albanian"
SR "Serbian"
SS "Siswati"
ST "Sesotho"
SU "Sudanese"
SV "Swedish"
SW "Swahili"
TA "Tamil"
TE "Tegulu"
TG "Tajik"
TH "Thai"
TI "Tigrinya"
TK "Turkmen"
TL "Tagalog"
TN "Setswana"
TO "Tonga"
TR "Turkish"
TS "Tsonga"
TT "Tatar"
TW "Twi"
UK "Ukrainian"
UR "Urdu"
UZ "Uzbek"
VI "Vietnamese"
VO "Volapuk"
WO "Wolof"
XH "Xhosa"
YO "Yoruba"
ZH "Chinese"
ZU "Zulu"
</pre>
<hr>
<p>Document Modified August 9, 1999</p>
</body></html>

View File

@@ -0,0 +1,33 @@
!macro LANG LANG_NAME
# NSIS language file
!insertmacro MUI_LANGUAGE "${LANG_NAME}"
# FreeCAD language file
!insertmacro LANGFILE_INCLUDE_WITHDEFAULT "lang\${LANG_NAME}.nsh" "lang\english.nsh"
!macroend
# list of all languages the installer is translated to
!insertmacro LANG "english" # first language is the default
!insertmacro LANG "arabic"
!insertmacro LANG "basque"
!insertmacro LANG "catalan"
!insertmacro LANG "czech"
!insertmacro LANG "danish"
!insertmacro LANG "dutch"
!insertmacro LANG "french"
!insertmacro LANG "german"
!insertmacro LANG "galician"
!insertmacro LANG "hungarian"
!insertmacro LANG "indonesian"
!insertmacro LANG "italian"
!insertmacro LANG "japanese"
!insertmacro LANG "norwegian"
!insertmacro LANG "polish"
!insertmacro LANG "portuguese"
!insertmacro LANG "portugueseBR"
!insertmacro LANG "romanian"
!insertmacro LANG "russian"
!insertmacro LANG "slovak"
!insertmacro LANG "spanish"
!insertmacro LANG "swedish"
!insertmacro LANG "turkish"
!insertmacro LANG "ukrainian"

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Arabic
*/
!insertmacro LANGFILE_EXT "Arabic"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(تركيب للمستخدم الحالي)"
${LangFileString} TEXT_WELCOME "هذا المساعد سوف يرشدك خلال تركيب $(^NameDA), $\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "بناء سكربتات بايثون..."
${LangFileString} TEXT_FINISH_DESKTOP "إنشاء اختصار سطح المكتب"
${LangFileString} TEXT_FINISH_WEBSITE "زيارة freecad.org لمشاهدة آخر الاخبار, الدعم والأفكار"
#${LangFileString} FileTypeTitle "مستند - ليك"
#${LangFileString} SecAllUsersTitle "تركيب لكل المستخدمين؟"
${LangFileString} SecFileAssocTitle "اقتران الملف"
${LangFileString} SecDesktopTitle "رمز سطح المكتب"
${LangFileString} SecCoreDescription "ملفات ليك."
#${LangFileString} SecAllUsersDescription "تركيب ليك لهذا المستخدم أم لجميع المستخدمين."
${LangFileString} SecFileAssocDescription "الملفات بلاحقة .FCStd سوف تفتح تلفائيا ببرنامج ليك."
${LangFileString} SecDesktopDescription "رمز ليم على سطح المكتب."
#${LangFileString} SecDictionaries "قواميس"
#${LangFileString} SecDictionariesDescription "قواميس المدقق الإملائي التي يمكن تنزيلها وتركيبها."
#${LangFileString} PathName 'مسار الملف $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'الملف $\"xxx.exe$\" ليس في المسار المحدد.'
#${LangFileString} DictionariesFailed 'فشل تنزيل قاموس اللغة $\"$R3$\" .'
#${LangFileString} ConfigInfo "ضبط ليك سيستغرق وفت."
#${LangFileString} RunConfigureFailed "لم ينفذ سكريبت الضبط"
${LangFileString} InstallRunning "المركب يعمل حاليا!"
${LangFileString} AlreadyInstalled "ليك ${APP_SERIES_KEY2} تم تركيبه بالفعل!$\r$\n\
التركيب على النسخة الحالية غير مفضل إذا كانت النسخة الحالية$\r$\n\
تجريبية أو بها مشاكل.$\r$\n\
في هذه الحالة من الأفضل إعادة التركيب.$\r$\n\
هل تريد بالرغم من ذلك تركيب ليك على النسخة الحالية؟"
${LangFileString} NewerInstalled "تحاول تركيب نسخة ليك أقدم من الموجودة حاليا.$\r$\n\
إذا كنت تريدها بالتأكيد, عليك حذف النسخة الحالية $OldVersionNumber أولا."
#${LangFileString} FinishPageMessage "مبروك! تم تركيب ليك بنجاح.$\r$\n\
# $\r$\n\
# (البدء الأول لليك ربما يستغرق ثوان.)"
${LangFileString} FinishPageRun "بدء ليك"
${LangFileString} UnNotInRegistryLabel "لم يتم العثور على ليك في سجل النظام.$\r$\n\
إختصارات سطح المكتب وقائمة البدء لم يتم حذفها."
${LangFileString} UnInstallRunning "يجب إغلاق ليك أولا!"
${LangFileString} UnNotAdminLabel "يجب أن يكون لديك صلاحيات المدير لكي تحذف ليك!"
${LangFileString} UnReallyRemoveLabel "هل ترغب بإزالة ليك مع كل مكوناته؟"
${LangFileString} UnFreeCADPreferencesTitle 'تفضيلات مستخدم ليك'
#${LangFileString} SecUnProgDescription "إزالة مدير ثبت المراجع xxx."
${LangFileString} SecUnPreferencesDescription 'حذف FreeCAD$\'s ضبط$\r$\n\
(مجلد $\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
لك او لكل المستخدمين (إذا كنت المدير).'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "إزالة ليك مع كل مكوناته."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Basque
*/
!insertmacro LANGFILE_EXT "Basque"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Instalatu uneko erabiltzailearentzat)"
${LangFileString} TEXT_WELCOME "Morroi honek $(^NameDA) aplikazioaren instalazio urratsetan zehar lagunduko dizu, $\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Python script-ak konpilatzen..."
${LangFileString} TEXT_FINISH_DESKTOP "Sortu mahaigaineko lasterbidea"
${LangFileString} TEXT_FINISH_WEBSITE "Bisitatu freecad.org azken berriak, aholkuak eta laguntza lortzeko"
#${LangFileString} FileTypeTitle "FreeCAD-dokumentua"
#${LangFileString} SecAllUsersTitle "Instalatu erabiltzaile guztientzako?"
${LangFileString} SecFileAssocTitle "Fitxategiaren esleipenak"
${LangFileString} SecDesktopTitle "Mahaigaineko ikonoa"
${LangFileString} SecCoreDescription "FreeCAD fitxategiak."
#${LangFileString} SecAllUsersDescription "Instalatu FreeCAD erabiltzaile guztientzako, edo soilik uneko erabiltzailearentzako."
${LangFileString} SecFileAssocDescription ".FCStd luzapeneko fitxategiak FreeCAD-ekin irekiko dira automatikoki."
${LangFileString} SecDesktopDescription "FreeCAD ikonoa mahaigainean."
#${LangFileString} SecDictionaries "Hiztegia"
#${LangFileString} SecDictionariesDescription "Zuzentzaile ortografikoen hiztegiak deskarga eta instala daitezke."
#${LangFileString} PathName '$\"xxx.exe$\" fitxategiaren bide-izena'
#${LangFileString} InvalidFolder '$\"xxx.exe$\" fitxategia ez dago zehaztutako bide-izenean.'
#${LangFileString} DictionariesFailed 'Huts egin du $\"$R3$\" hizkuntzaren hiztegia deskargatzean.'
#${LangFileString} ConfigInfo "FreeCAD-en hurrengo konfigurazioak denbora piskat beharko du."
#${LangFileString} RunConfigureFailed "Ezin izan da konfigurazioaren script-a exekutatu"
${LangFileString} InstallRunning "Instalatzailea jadanik exekutatzen ari da."
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} jadanik instalatuta dago!$\r$\n\
Installing over existing installations is not recommended if the installed version$\r$\n\
is a test release or if you have problems with your existing FreeCAD installation.$\r$\n\
In these cases better reinstall FreeCAD.$\r$\n\
Dou you nevertheles want to install FreeCAD over the existing version?"
${LangFileString} NewerInstalled "Instalatuta dagoen FreeCAD baino bertsio zaharragoa instalatzen saiatzen ari zara.$\r$\n\
Hori egitea nahi baduzu, lehenbizi existitzen den FreeCAD $OldVersionNumber desinstalatu beharko duzu."
#${LangFileString} FinishPageMessage "Zorionak! FreeCAD ongi instalatu da.$\r$\n\
# $\r$\n\
# (FreeCAD aurreneko aldiz abiatzean denbora piskat beharko du.)"
${LangFileString} FinishPageRun "Abiarazi FreeCAD"
${LangFileString} UnNotInRegistryLabel "Ezin da FreeCAD aurkitu erregistroan.$\r$\n\
Mahaigaineko eta Hasiera menuko lasterbideak ez dira kenduko."
${LangFileString} UnInstallRunning "Aurrenik FreeCAD itxi behar duzu."
${LangFileString} UnNotAdminLabel "Administratzailearen baimenak behar dituzu FreeCAD desinstalatzeko."
${LangFileString} UnReallyRemoveLabel "Ziur zaude FreeCAD eta bere osagai guztiak kentzea nahi dituzula??"
${LangFileString} UnFreeCADPreferencesTitle 'FreeCAD-eko erabiltzailearen hobespenak'
#${LangFileString} SecUnProgDescription "xxx kudeatzailea desinstalatzen du."
${LangFileString} SecUnPreferencesDescription 'FreeCAD-en konfigurazioa ezabatzen du$\r$\n\
($\"$AppPre\erabiltzailea\$\r$\n\
$AppSuff\$\r$\n\
\${APP_DIR_USERDATA}$\"$\r$\n\
zuretzako edo erabiltzaile guztientzako (administratzailea bazara).'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Desinstalatu FreeCAD eta bere osagai guztiak."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Catalan
*/
!insertmacro LANGFILE_EXT "Catalan"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Installed for Current User)"
${LangFileString} TEXT_WELCOME "Aquest assistent us guiarà en la instal·lació del FreeCAD.$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Compiling Python scripts..."
${LangFileString} TEXT_FINISH_DESKTOP "Create desktop shortcut"
${LangFileString} TEXT_FINISH_WEBSITE "Visit freecad.org for the latest news, support and tips"
#${LangFileString} FileTypeTitle "Document FreeCAD"
#${LangFileString} SecAllUsersTitle "Voleu instal·lar-ho per a tots els usuaris?"
${LangFileString} SecFileAssocTitle "Associació de fitxers"
${LangFileString} SecDesktopTitle "Icona a l'escriptori"
${LangFileString} SecCoreDescription "Els fitxers del FreeCAD."
#${LangFileString} SecAllUsersDescription "Instal·la el FreeCAD per a tots els usuaris o només per a l'usuari actual."
${LangFileString} SecFileAssocDescription "Els fitxers amb extensió .FCStd s'obriran automàticament amb el FreeCAD."
${LangFileString} SecDesktopDescription "Una icona del FreeCAD a l'escriptori."
#${LangFileString} SecDictionaries "Diccionaris"
#${LangFileString} SecDictionariesDescription "Spell-checker dictionaries that can be downloaded and installed."
#${LangFileString} PathName 'Camí al fitxer $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'El fitxer $\"xxx.exe$\" no es troba al camí indicat.'
#${LangFileString} DictionariesFailed 'Download of dictionary for language $\"$R3$\" failed.'
#${LangFileString} ConfigInfo "La configuració següent del FreeCAD pot trigar una mica."
#${LangFileString} RunConfigureFailed "No es pot executar el programa de configuració"
${LangFileString} InstallRunning "L'instal·lador ja s'està executant!"
${LangFileString} AlreadyInstalled "El FreeCAD ${APP_SERIES_KEY2} ja es troba instal·lat!$\r$\n\
Installing over existing installations is not recommended if the installed version$\r$\n\
is a test release or if you have problems with your existing FreeCAD installation.$\r$\n\
In these cases better reinstall FreeCAD.$\r$\n\
Dou you nevertheles want to install FreeCAD over the existing version?"
${LangFileString} NewerInstalled "You are trying to install an older version of FreeCAD than what you have installed.$\r$\n\
If you really want this, you must uninstall the existing FreeCAD $OldVersionNumber before."
#${LangFileString} FinishPageMessage "Felicitats! Heu instal·lat correctament el FreeCAD.$\r$\n\
# $\r$\n\
# (La primera execució del FreeCAD pot trigar alguns segons.)"
${LangFileString} FinishPageRun "Executa el FreeCAD"
${LangFileString} UnNotInRegistryLabel "No es possible trobar el FreeCAD al registre.$\r$\n\
No se suprimiran les dreceres de l'escriptori i del menú inici."
${LangFileString} UnInstallRunning "Primer heu de tancar el FreeCAD!"
${LangFileString} UnNotAdminLabel "Necessiteu drets d'administrador per desinstal·lar el FreeCAD!"
${LangFileString} UnReallyRemoveLabel "Esteu segur de voler suprimir completament el FreeCAD i tots els seus components?"
${LangFileString} UnFreeCADPreferencesTitle 'Preferències d$\'usuari del FreeCAD'
#${LangFileString} SecUnProgDescription "Desinstal·xxx."
${LangFileString} SecUnPreferencesDescription 'Suprimeix les carptes de configuració del FreeCAD$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
de tots els usuaris.'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Desinstal·la el FreeCAD i tots els seus components."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Czech
*/
!insertmacro LANGFILE_EXT "Czech"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Installed for Current User)"
${LangFileString} TEXT_WELCOME "Tento pomocník vás provede instalací FreeCADu.$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Compiling Python scripts..."
${LangFileString} TEXT_FINISH_DESKTOP "Create desktop shortcut"
${LangFileString} TEXT_FINISH_WEBSITE "Visit freecad.org for the latest news, support and tips"
#${LangFileString} FileTypeTitle "FreeCAD-dokumentů"
#${LangFileString} SecAllUsersTitle "Instalovat pro všechny uživatele?"
${LangFileString} SecFileAssocTitle "Asociovat soubory"
${LangFileString} SecDesktopTitle "Ikonu na plochu"
${LangFileString} SecCoreDescription "Soubory FreeCADu."
#${LangFileString} SecAllUsersDescription "Instalovat FreeCAD pro všechny uživatele nebo pouze pro současného uživatele."
${LangFileString} SecFileAssocDescription "Soubory s příponou .FCStd se automaticky otevřou v FreeCADu."
${LangFileString} SecDesktopDescription "Ikonu FreeCADu na plochu."
#${LangFileString} SecDictionaries "Slovníky"
#${LangFileString} SecDictionariesDescription "Spell-checker dictionaries that can be downloaded and installed."
#${LangFileString} PathName 'Cesta k souboru $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'Soubor $\"xxx.exe$\" není v zadané cestě.'
#${LangFileString} DictionariesFailed 'Download of dictionary for language $\"$R3$\" failed.'
#${LangFileString} ConfigInfo "The following configuration of FreeCAD could take a while."
#${LangFileString} RunConfigureFailed "Nelze spustit konfigurační skript"
${LangFileString} InstallRunning "Instalátor je již spuštěn!"
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} je již nainstalován!$\r$\n\
Installing over existing installations is not recommended if the installed version$\r$\n\
is a test release or if you have problems with your existing FreeCAD installation.$\r$\n\
In these cases better reinstall FreeCAD.$\r$\n\
Dou you nevertheles want to install FreeCAD over the existing version?"
${LangFileString} NewerInstalled "You are trying to install an older version of FreeCAD than what you have installed.$\r$\n\
If you really want this, you must uninstall the existing FreeCAD $OldVersionNumber before."
#${LangFileString} FinishPageMessage "Blahopřejeme! FreeCAD byl úspěšně nainstalován.$\r$\n\
# $\r$\n\
# (První spuštění FreeCADu může trvat delší dobu.)"
${LangFileString} FinishPageRun "Spustit FreeCAD"
${LangFileString} UnNotInRegistryLabel "Nelze nalézt FreeCAD v registrech.$\r$\n\
Zástupce na ploše a ve Start menu nebude smazán."
${LangFileString} UnInstallRunning "Nejprve musíte zavřít FreeCAD!"
${LangFileString} UnNotAdminLabel "Musíte mít administrátorská práva pro odinstalování FreeCADu!"
${LangFileString} UnReallyRemoveLabel "Chcete opravdu smazat FreeCAD a všechny jeho komponenty?"
${LangFileString} UnFreeCADPreferencesTitle 'Uživatelská nastavení FreeCADu'
#${LangFileString} SecUnProgDescription "Odinstalovat xxx."
${LangFileString} SecUnPreferencesDescription 'Smazat konfigurační adresář FreeCADu$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
pro všechny uživatele.'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Odinstalovat FreeCAD a všechny jeho komponenty."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Danish
*/
!insertmacro LANGFILE_EXT "Danish"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Installed for Current User)"
${LangFileString} TEXT_WELCOME "Denne guide vil installere FreeCAD på din computer.$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Compiling Python scripts..."
${LangFileString} TEXT_FINISH_DESKTOP "Create desktop shortcut"
${LangFileString} TEXT_FINISH_WEBSITE "Visit freecad.org for the latest news, support and tips"
#${LangFileString} FileTypeTitle "FreeCAD-Dokument"
#${LangFileString} SecAllUsersTitle "Installer til alle brugere?"
${LangFileString} SecFileAssocTitle "Fil-associationer"
${LangFileString} SecDesktopTitle "Skrivebordsikon"
${LangFileString} SecCoreDescription "Filerne til FreeCAD."
#${LangFileString} SecAllUsersDescription "Installer FreeCAD til alle brugere, eller kun den aktuelle bruger."
${LangFileString} SecFileAssocDescription "Opret association mellem FreeCAD og .FCStd filer."
${LangFileString} SecDesktopDescription "Et FreeCAD ikon på skrivebordet"
#${LangFileString} SecDictionaries "Ordbøger"
#${LangFileString} SecDictionariesDescription "Spell-checker dictionaries that can be downloaded and installed."
#${LangFileString} PathName 'Sti til filen $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'Kunne ikke finde $\"xxx.exe$\".'
#${LangFileString} DictionariesFailed 'Download of dictionary for language $\"$R3$\" failed.'
#${LangFileString} ConfigInfo "Den følgende konfiguration af FreeCAD vil tage et stykke tid."
#${LangFileString} RunConfigureFailed "Mislykket forsog på at afvikle konfigurations-scriptet"
${LangFileString} InstallRunning "Installationsprogrammet kører allerede!"
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} er allerede installeret!$\r$\n\
Installing over existing installations is not recommended if the installed version$\r$\n\
is a test release or if you have problems with your existing FreeCAD installation.$\r$\n\
In these cases better reinstall FreeCAD.$\r$\n\
Dou you nevertheles want to install FreeCAD over the existing version?"
${LangFileString} NewerInstalled "You are trying to install an older version of FreeCAD than what you have installed.$\r$\n\
If you really want this, you must uninstall the existing FreeCAD $OldVersionNumber before."
#${LangFileString} FinishPageMessage "Tillykke!! FreeCAD er installeret.$\r$\n\
# $\r$\n\
# (Når FreeCAD startes første gang, kan det tage noget tid.)"
${LangFileString} FinishPageRun "Start FreeCAD"
${LangFileString} UnNotInRegistryLabel "Kunne ikke finde FreeCAD i registreringsdatabsen.$\r$\n\
Genvejene på skrivebordet og i Start-menuen bliver ikke fjernet"
${LangFileString} UnInstallRunning "Du ma afslutte FreeCAD forst!"
${LangFileString} UnNotAdminLabel "Du skal have administrator-rettigheder for at afinstallere FreeCAD!"
${LangFileString} UnReallyRemoveLabel "Er du sikker på, at du vil slette FreeCAD og alle tilhørende komponenter?"
${LangFileString} UnFreeCADPreferencesTitle 'FreeCAD$\'s user preferences'
#${LangFileString} SecUnProgDescription 'Afinstallerer programmet $\"xxx$\".'
${LangFileString} SecUnPreferencesDescription 'Sletter FreeCAD$\'s konfigurations mappe$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
for alle brugere.'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Afinstallerer FreeCAD og alle dets komponenter."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Dutch
*/
!insertmacro LANGFILE_EXT "Dutch"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Installed for Current User)"
${LangFileString} TEXT_WELCOME "Dit installatie programma zal FreeCAD op uw systeem installeren.$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Compiling Python scripts..."
${LangFileString} TEXT_FINISH_DESKTOP "Create desktop shortcut"
${LangFileString} TEXT_FINISH_WEBSITE "Visit freecad.org for the latest news, support and tips"
#${LangFileString} FileTypeTitle "FreeCAD-Document"
#${LangFileString} SecAllUsersTitle "Installeer voor alle gebruikers?"
${LangFileString} SecFileAssocTitle "Bestand associaties"
${LangFileString} SecDesktopTitle "Bureaublad pictogram"
${LangFileString} SecCoreDescription "De FreeCAD bestanden."
#${LangFileString} SecAllUsersDescription "Installeer FreeCAD voor alle gebruikers of uitsluitend de huidige gebruiker?"
${LangFileString} SecFileAssocDescription "Associeer het FreeCAD programma met de .FCStd extensie."
${LangFileString} SecDesktopDescription "Een FreeCAD pictogram op het Bureaublad."
#${LangFileString} SecDictionaries "Woordenboeken"
#${LangFileString} SecDictionariesDescription "Spell-checker dictionaries that can be downloaded and installed."
#${LangFileString} PathName 'Map met het programma $\"xxx.exe$\"'
#${LangFileString} InvalidFolder '$\"xxx.exe$\" is niet gevonden.'
#${LangFileString} DictionariesFailed 'Download of dictionary for language $\"$R3$\" failed.'
#${LangFileString} ConfigInfo "De volgende configuratie van FreeCAD zal enige tijd duren."
#${LangFileString} RunConfigureFailed "Mislukte configuratie poging"
${LangFileString} InstallRunning "Het installatieprogramma is al gestart!"
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} is reeds geinstalleerd!$\r$\n\
Installing over existing installations is not recommended if the installed version$\r$\n\
is a test release or if you have problems with your existing FreeCAD installation.$\r$\n\
In these cases better reinstall FreeCAD.$\r$\n\
Dou you nevertheles want to install FreeCAD over the existing version?"
${LangFileString} NewerInstalled "You are trying to install an older version of FreeCAD than what you have installed.$\r$\n\
If you really want this, you must uninstall the existing FreeCAD $OldVersionNumber before."
#${LangFileString} FinishPageMessage "Gefeliciteerd! FreeCAD is succesvol geinstalleerd.$\r$\n\
# $\r$\n\
# (De eerste keer dat u FreeCAD start kan dit enige seconden duren.)"
${LangFileString} FinishPageRun "Start FreeCAD"
${LangFileString} UnNotInRegistryLabel "FreeCAD is niet gevonden in het Windows register.$\r$\n\
Snelkoppelingen op het Bureaublad en in het Start Menu worden niet verwijderd."
${LangFileString} UnInstallRunning "U moet FreeCAD eerst afsluiten!"
${LangFileString} UnNotAdminLabel "U heeft systeem-beheerrechten nodig om FreeCAD te verwijderen!"
${LangFileString} UnReallyRemoveLabel "Weet u zeker dat u FreeCAD en alle componenten volledig wil verwijderen van deze computer?"
${LangFileString} UnFreeCADPreferencesTitle 'FreeCAD$\'s user preferences'
#${LangFileString} SecUnProgDescription "Verwijder xxx."
${LangFileString} SecUnPreferencesDescription 'Verwijder FreeCAD$\'s configuratie map$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
voor alle gebruikers.'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Verwijder FreeCAD en alle bijbehorende onderdelen."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: English
*/
!insertmacro LANGFILE_EXT "English"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Installed for Current User)"
${LangFileString} TEXT_WELCOME "This wizard will guide you through the installation of $(^NameDA), $\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Compiling Python scripts..."
${LangFileString} TEXT_FINISH_DESKTOP "Create desktop shortcut"
${LangFileString} TEXT_FINISH_WEBSITE "Visit freecad.org/ for the latest news, support and tips"
#${LangFileString} FileTypeTitle "FreeCAD-Document"
#${LangFileString} SecAllUsersTitle "Install for all users?"
${LangFileString} SecFileAssocTitle "File associations"
${LangFileString} SecDesktopTitle "Desktop icon"
${LangFileString} SecCoreDescription "The FreeCAD files."
#${LangFileString} SecAllUsersDescription "Install FreeCAD for all users or just the current user."
${LangFileString} SecFileAssocDescription "Files with a .FCStd extension will automatically open in FreeCAD."
${LangFileString} SecDesktopDescription "A FreeCAD icon on the desktop."
#${LangFileString} SecDictionaries "Dictionaries"
#${LangFileString} SecDictionariesDescription "Spell-checker dictionaries that can be downloaded and installed."
#${LangFileString} PathName 'Path to the file $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'The file $\"xxx.exe$\" is not in the specified path.'
#${LangFileString} DictionariesFailed 'Download of dictionary for language $\"$R3$\" failed.'
#${LangFileString} ConfigInfo "The following configuration of FreeCAD could take a while."
#${LangFileString} RunConfigureFailed "Could not run configure script."
${LangFileString} InstallRunning "The installer is already running!"
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} is already installed!$\r$\n\
Installing over existing installations is not recommended if the installed version$\r$\n\
is a test release or if you have problems with your existing FreeCAD installation.$\r$\n\
In these cases better reinstall FreeCAD.$\r$\n\
Do you nevertheless want to install FreeCAD over the existing version?"
${LangFileString} NewerInstalled "You are trying to install an older version of FreeCAD than what you have installed.$\r$\n\
If you really want this, you must uninstall the existing FreeCAD $OldVersionNumber before."
#${LangFileString} FinishPageMessage "Congratulations! FreeCAD has been installed successfully.$\r$\n\
# $\r$\n\
# (The first start of FreeCAD might take some seconds.)"
${LangFileString} FinishPageRun "Launch FreeCAD"
${LangFileString} UnNotInRegistryLabel "Unable to find FreeCAD in the registry.$\r$\n\
Shortcuts on the desktop and in the Start Menu will not be removed."
${LangFileString} UnInstallRunning "You must close FreeCAD first!"
${LangFileString} UnNotAdminLabel "You must have administrator privileges to uninstall FreeCAD!"
${LangFileString} UnReallyRemoveLabel "Are you sure you want to completely remove FreeCAD and all of its components?"
${LangFileString} UnFreeCADPreferencesTitle 'FreeCAD$\'s user preferences'
#${LangFileString} SecUnProgDescription "Uninstalls xxx."
${LangFileString} SecUnPreferencesDescription 'Deletes FreeCAD$\'s configuration$\r$\n\
(folder $\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
for you or for all users (if you are admin).'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Uninstall FreeCAD and all of its components."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: French
*/
!insertmacro LANGFILE_EXT "French"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Installation pour l'utilisateur courant)"
${LangFileString} TEXT_WELCOME "Cet assistant va vous guider tout au long de l'installation de $(^NameDA).$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Compilation des scripts Python..."
${LangFileString} TEXT_FINISH_DESKTOP "Créer un raccourci sur le bureau"
${LangFileString} TEXT_FINISH_WEBSITE "Consulter les dernières nouvelles, trucs et astuces sur le site freecad.org"
#${LangFileString} FileTypeTitle "Document FreeCAD"
#${LangFileString} SecAllUsersTitle "Installer pour tous les utilisateurs ?"
${LangFileString} SecFileAssocTitle "Associations de fichiers"
${LangFileString} SecDesktopTitle "Icône du bureau"
${LangFileString} SecCoreDescription "Les fichiers FreeCAD"
#${LangFileString} SecAllUsersDescription "Installer FreeCAD pour tous les utilisateurs, ou seulement pour l$\'utilisateur courant ?"
${LangFileString} SecFileAssocDescription "Les fichiers de suffixe .FCStd seront automatiquement ouverts dans FreeCAD."
${LangFileString} SecDesktopDescription "Une icône FreeCAD sur le bureau."
#${LangFileString} SecDictionaries "Dictionnaires"
#${LangFileString} SecDictionariesDescription "Les dictionnaires pour correcteur orthographique qui peuvent être téléchargés et installés."
#${LangFileString} PathName 'Chemin vers le fichier $\"xxx.exe$\"'
#${LangFileString} InvalidFolder '$\"xxx.exe$\" introuvable dans le chemin d$\'accès spécifié.'
#${LangFileString} DictionariesFailed 'Le chargement du dictionnaire pour la langue $\"$R3$\" a échoué.'
#${LangFileString} ConfigInfo "La configuration de FreeCAD qui va suivre prendra un moment."
#${LangFileString} RunConfigureFailed "Échec de la tentative de configuration initiale de FreeCAD."
${LangFileString} InstallRunning "Le programme d$\'installation est toujours en cours !"
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} est déjà installé !$\r$\n\
L'installation par dessus les installations existantes n'est pas recommandée si la version installée$\r$\n\
est une version de test ou si vous avez des problèmes avec votre installation FreeCAD existante.$\r$\n\
Dans ces situations il vaut mieux réinstaller FreeCAD.$\r$\n\
Voulez-vous néanmoins installer FreeCAD par dessus la version existante ?"
${LangFileString} NewerInstalled "Vous essayez d$\'installer une version de FreeCAD plus ancienne que celle qui est déjà installée.$\r$\n\
Si c$\'est ce qu vous voulez, vous devez d$\'abord désinstaller FreeCAD $OldVersionNumber."
#${LangFileString} FinishPageMessage "Félicitations ! FreeCAD est installé avec succès.$\r$\n\
# $\r$\n\
# (Le premier démarrage de FreeCAD peut demander quelques secondes.)"
${LangFileString} FinishPageRun "Démarrer FreeCAD"
${LangFileString} UnNotInRegistryLabel "FreeCAD introuvable dans la base des registres.$\r$\n\
Les raccourcis sur le bureau et dans le menu de démarrage ne seront pas supprimés."
${LangFileString} UnInstallRunning "Vous devez fermer FreeCAD d$\'abord !"
${LangFileString} UnNotAdminLabel "Vous devez avoir les droits d$\'administration pour désinstaller FreeCAD !"
${LangFileString} UnReallyRemoveLabel "Êtes vous sûr(e) de vouloir supprimer complètement FreeCAD et tous ses composants ?"
${LangFileString} UnFreeCADPreferencesTitle 'Préférences utilisateurs de FreeCAD'
#${LangFileString} SecUnProgDescription "Désinstalle le gestionnaire de bibliographie xxx."
${LangFileString} SecUnPreferencesDescription 'Supprime le répertoire de configuration de FreeCAD$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
pour tous les utilisateurs.'
${LangFileString} DialogUnPreferences 'Vous avez choisi de supprimer le répertoire de configuration de FreeCADs.$\r$\n\
Cela supprimera également tous les addons FreeCAD installés.$\r$\n\
Êtes-vous d$\'accord avec cela ?'
${LangFileString} SecUnProgramFilesDescription "Désinstaller FreeCAD et tous ses composants."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Galician
*/
!insertmacro LANGFILE_EXT "Galician"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Installed for Current User)"
${LangFileString} TEXT_WELCOME "Este asistente vai-no guiar na instalación do FreeCAD no seu computador.$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Compiling Python scripts..."
${LangFileString} TEXT_FINISH_DESKTOP "Create desktop shortcut"
${LangFileString} TEXT_FINISH_WEBSITE "Visit freecad.org for the latest news, support and tips"
#${LangFileString} FileTypeTitle "Documento FreeCAD"
#${LangFileString} SecAllUsersTitle "Instalar para todos os usuários?"
${LangFileString} SecFileAssocTitle "Asociación dos ficheiros"
${LangFileString} SecDesktopTitle "Icone do ambiente de traballo"
${LangFileString} SecCoreDescription "Os ficheiros FreeCAD."
#${LangFileString} SecAllUsersDescription "Instalar o FreeCAD monousuário ou multiusuário."
${LangFileString} SecFileAssocDescription "Asociar a extensión .FCStd co FreeCAD."
${LangFileString} SecDesktopDescription "Cria un icone do FreeCAD no ambiente de traballo."
#${LangFileString} SecDictionaries "Dicionarios"
#${LangFileString} SecDictionariesDescription "Spell-checker dictionaries that can be downloaded and installed."
#${LangFileString} PathName 'Camiño ao ficheiro $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'O ficheiro $\"xxx.exe$\" non está no camiño especificado.'
#${LangFileString} DictionariesFailed 'Download of dictionary for language $\"$R3$\" failed.'
#${LangFileString} ConfigInfo "A configuración seguinte do FreeCAD irá demorar un pouco."
#${LangFileString} RunConfigureFailed "Non se deu executado o script de configuración"
${LangFileString} InstallRunning "O instalador xa está a correr!"
${LangFileString} AlreadyInstalled "O FreeCAD ${APP_SERIES_KEY2} xa está instalado!$\r$\n\
Installing over existing installations is not recommended if the installed version$\r$\n\
is a test release or if you have problems with your existing FreeCAD installation.$\r$\n\
In these cases better reinstall FreeCAD.$\r$\n\
Dou you nevertheles want to install FreeCAD over the existing version?"
${LangFileString} NewerInstalled "You are trying to install an older version of FreeCAD than what you have installed.$\r$\n\
If you really want this, you must uninstall the existing FreeCAD $OldVersionNumber before."
#${LangFileString} FinishPageMessage "Parabéns! O FreeCAD foi instalado con suceso.$\r$\n\
# $\r$\n\
# (O primeiro início do FreeCAD pode levar alguns segundos.)"
${LangFileString} FinishPageRun "Lanzar o FreeCAD"
${LangFileString} UnNotInRegistryLabel "Non se da achado o FreeCAD no registo.$\r$\n\
Non se eliminarán os atallos para o ambiente de traballo e no menu de Início."
${LangFileString} UnInstallRunning "Debe fechar o FreeCAD en primeiro lugar!"
${LangFileString} UnNotAdminLabel "Precisa de priviléxios de administrador para desinstalar o FreeCAD!"
${LangFileString} UnReallyRemoveLabel "Seguro que quer eliminar completamente o FreeCAD e todos os seus componentes?"
${LangFileString} UnFreeCADPreferencesTitle 'Preferéncias de usuário do FreeCAD'
#${LangFileString} SecUnProgDescription "Desinstala xxx."
${LangFileString} SecUnPreferencesDescription 'Elimina as pastas de configuración do FreeCAD$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
de todos os usuários.'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Desinstala FreeCAD e todos os seus componentes."

View File

@@ -0,0 +1,71 @@
/*
FreeCAD Installer Language File
Language: German
Author: Uwe Stöhr
*/
!insertmacro LANGFILE_EXT "German"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Installiert für den aktuellen Benutzer)"
${LangFileString} TEXT_WELCOME "Dieser Assistent wird Sie durch die Installation von $(^NameDA) begleiten.$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Kompiliere Python Skripte..."
${LangFileString} TEXT_FINISH_DESKTOP "Ein Symbol auf der Arbeitsoberfläche erzeugen"
${LangFileString} TEXT_FINISH_WEBSITE "Besuchen Sie freecad.org für aktuelle Neuigkeiten"
#${LangFileString} FileTypeTitle "FreeCAD-Dokument"
#${LangFileString} SecAllUsersTitle "Für alle Nutzer installieren?"
${LangFileString} SecFileAssocTitle "Dateizuordnungen"
${LangFileString} SecDesktopTitle "Desktopsymbol"
${LangFileString} SecCoreDescription "Das Programm FreeCAD."
#${LangFileString} SecAllUsersDescription "FreeCAD für alle Nutzer oder nur für den aktuellen Nutzer installieren."
${LangFileString} SecFileAssocDescription "Vernüpfung zwischen FreeCAD und der .FCStd Dateiendung."
${LangFileString} SecDesktopDescription "Verknüpfung zu FreeCAD auf dem Desktop."
#${LangFileString} SecDictionaries "Wörterbücher"
#${LangFileString} SecDictionariesDescription "Rechtschreibprüfung- Wörterbucher die heruntergeladen und installiert werden können."
#${LangFileString} PathName 'Pfad zur Datei $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'Kann die Datei $\"xxx.exe$\" nicht finden.'
#${LangFileString} DictionariesFailed 'Herunterladen des Wörterbuchs für Sprache $\"$R3$\" fehlgeschlagen.'
#${LangFileString} ConfigInfo "Die folgende Konfiguration von FreeCAD wird eine Weile dauern."
#${LangFileString} RunConfigureFailed "Konnte das Konfigurationsskript nicht ausführen."
${LangFileString} InstallRunning "Der Installer läuft bereits!"
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} ist bereits installiert!$\r$\n\
Das Installieren über bestehende Installationen ist nicht empfohlen, wenn die installierte Version$\r$\n\
eine Testversion ist oder wenn es Probleme mit der bestehenden FreeCAD-Installation gibt.$\r$\n\
Besser Sie deinstallieren in diesen Fällen FreeCAD zuerst.$\r$\n\
Wollen Sie FreeCAD dennoch über die bestehende Version installieren?"
${LangFileString} NewerInstalled "Sie versuchen eine Vesion von FreeCAD zu installieren, die älter als die derzeit installierte ist.$\r$\n\
Wenn Sie das wirklich wollen, müssen Sie erst das existierende FreeCAD $OldVersionNumber deinstallieren."
#${LangFileString} FinishPageMessage "Glückwunsch! FreeCAD wurde erfolgreich installiert.$\r$\n\
# $\r$\n\
# (Der erste Start von FreeCAD kann etwas länger dauern.)"
${LangFileString} FinishPageRun "FreeCAD starten"
${LangFileString} UnNotInRegistryLabel "Kann FreeCAD nicht in der Registry finden.$\r$\n\
Desktopsymbole und Einträge im Startmenü können nicht entfernt werden."
${LangFileString} UnInstallRunning "Sie müssen FreeCAD zuerst beenden!"
${LangFileString} UnNotAdminLabel "Sie benötigen Administratorrechte um FreeCAD zu deinstallieren!"
${LangFileString} UnReallyRemoveLabel "Sind Sie sicher, dass sie FreeCAD und all seine Komponenten deinstallieren möchten?"
${LangFileString} UnFreeCADPreferencesTitle 'FreeCADs Benutzereinstellungen'
#${LangFileString} SecUnProgDescription "Deinstalliert xxx."
${LangFileString} SecUnPreferencesDescription 'Löscht FreeCADs Benutzereinstellungen$\r$\n\
(Ordner $\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
für Sie oder für alle Benutzer (wenn Sie Admin sind).'
${LangFileString} DialogUnPreferences 'Sie haben ausgewählt, die FreeCAD-Benutzereinstellungen zu löschen.$\r$\n\
Dies wird auch alle installierten FreeCAD-Addons löschen.$\r$\n\
Sind Sie damit einverstanden?'
${LangFileString} SecUnProgramFilesDescription "Deinstalliert FreeCAD und all seine Komponenten."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Hungarian
*/
!insertmacro LANGFILE_EXT "Hungarian"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Telepítve az aktuális felhasználónak)"
${LangFileString} TEXT_WELCOME "A varázsló segítségével tudja telepíteni a FreeCAD-et.$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Python parancsfájlok fordítása..."
${LangFileString} TEXT_FINISH_DESKTOP "Indítóikon létrehozása Asztalon"
${LangFileString} TEXT_FINISH_WEBSITE "Látogasson el a freecad.org oldalra az aktuális hírekért, támogatásért és tippekért"
#${LangFileString} FileTypeTitle "FreeCAD-dokumentum"
#${LangFileString} SecAllUsersTitle "Telepítés minden felhasználónak"
${LangFileString} SecFileAssocTitle "Fájltársítások"
${LangFileString} SecDesktopTitle "Parancsikon Asztalra"
${LangFileString} SecCoreDescription "A FreeCAD futtatásához szükséges fájlok."
#${LangFileString} SecAllUsersDescription "Minden felhasználónak telepítsem vagy csak az aktuálisnak?"
${LangFileString} SecFileAssocDescription "A .FCStd kiterjesztéssel rendelkező fájlok megnyitása automatikusan a FreeCAD-el történjen."
${LangFileString} SecDesktopDescription "FreeCAD-ikon elhelyezése az Asztalon."
#${LangFileString} SecDictionaries "Szótárak"
#${LangFileString} SecDictionariesDescription "Helyesírás-ellenőrző szótárak, amiket letölthet és telepíthet."
#${LangFileString} PathName 'A $\"xxx.exe$\" fájl elérési útja'
#${LangFileString} InvalidFolder 'Nem találom a $\"xxx.exe$\" fájlt, a megadott helyen.'
#${LangFileString} DictionariesFailed 'Szótár letöltése a(z) $\"$R3$\" nyelvhez sikertelen.'
#${LangFileString} ConfigInfo "A FreeCAD telepítés utáni beállítása hosszú időt vehet igénybe."
#${LangFileString} RunConfigureFailed "Nem tudom végrehajtani a configure parancsfájlt!"
${LangFileString} InstallRunning "A telepítő már fut!"
${LangFileString} AlreadyInstalled "A FreeCAD ${APP_SERIES_KEY2} már teleptve van!$\r$\n\
Installing over existing installations is not recommended if the installed version$\r$\n\
is a test release or if you have problems with your existing FreeCAD installation.$\r$\n\
In these cases better reinstall FreeCAD.$\r$\n\
Dou you nevertheles want to install FreeCAD over the existing version?"
${LangFileString} NewerInstalled "A jelenleg telepítettnél régebbi FreeCAD verziót próbál telepíteni.$\r$\n\
Ha valóban ezt akarja, először el kell távolítania a meglévő FreeCAD $OldVersionNumber változatot."
#${LangFileString} FinishPageMessage "Gratulálok! Sikeresen telepítette a FreeCAD-et.$\r$\n\
# $\r$\n\
# (A program első indítása egy kis időt vehet igénybe...)"
${LangFileString} FinishPageRun "FreeCAD indítása"
${LangFileString} UnNotInRegistryLabel "Nem találom a FreeCAD-et a regisztriben.$\r$\n\
Az Asztalon és a Start Menüben található parancsikonok nem lesznek eltávolítva!."
${LangFileString} UnInstallRunning "Először be kell zárnia a FreeCAD-et!"
${LangFileString} UnNotAdminLabel "A FreeCAD eltávolításhoz rendszergazdai jogokkal kell rendelkeznie!"
${LangFileString} UnReallyRemoveLabel "Biztosan abban, hogy el akarja távolítani a FreeCAD-t, minden tartozékával együtt?"
${LangFileString} UnFreeCADPreferencesTitle 'FreeCAD felhasználói beállítások'
#${LangFileString} SecUnProgDescription "xxx eltávolítása."
${LangFileString} SecUnPreferencesDescription 'A FreeCAD beállítások mappa törlése$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
minden felhasználónál.'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "A FreeCAD és minden komponensének eltávolítása."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Indonesian
*/
!insertmacro LANGFILE_EXT "Indonesian"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Pasang untuk Pengguna Yang Ini)"
${LangFileString} TEXT_WELCOME "Program ini akan memandu anda dalam melakukan instalasi FreeCAD.$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Proses kompilasi skrip Python ..."
${LangFileString} TEXT_FINISH_DESKTOP "Membuat pintasan ikon di destop"
${LangFileString} TEXT_FINISH_WEBSITE "Kunjungi freecad.org untuk berita terbaru serta dukungan"
#${LangFileString} FileTypeTitle "Dokumen-FreeCAD"
#${LangFileString} SecAllUsersTitle "Pasang untuk semua pengguna?"
${LangFileString} SecFileAssocTitle "Berkas yang terkait"
${LangFileString} SecDesktopTitle "Ikon Desktop"
${LangFileString} SecCoreDescription "Berkas-berkas FreeCAD."
#${LangFileString} SecAllUsersDescription "Pasang FreeCAD untuk semua pengguna atau hanya untuk pengguna ini saja."
${LangFileString} SecFileAssocDescription "Berkas dengan ekstensi .FCStd akan otomatis dibuka menggunakan FreeCAD."
${LangFileString} SecDesktopDescription "Ikon FreeCAD muncul di desktop."
#${LangFileString} SecDictionaries "Kamus"
#${LangFileString} SecDictionariesDescription "Kamus pemeriksa ejaan yang dapat diunduh dan dipasang."
#${LangFileString} PathName 'Lokasi tempat berkas $\"xxx.exe$\" berada'
#${LangFileString} InvalidFolder 'Berkas $\"xxx.exe$\" tidak berada di lokasi tempat yang dinyatakan.'
#${LangFileString} DictionariesFailed 'Download of dictionary for language $\"$R3$\" failed.'
#${LangFileString} ConfigInfo "Proses konfigurasi FreeCAD selanjutnya akan memerlukan waktu beberapa saat."
#${LangFileString} RunConfigureFailed "Tidak bisa menjalankan skrip konfigurasi"
${LangFileString} InstallRunning "Program instalasi sedang berjalan!"
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} sudah pernah diinstal!$\r$\n\
Installing over existing installations is not recommended if the installed version$\r$\n\
is a test release or if you have problems with your existing FreeCAD installation.$\r$\n\
In these cases better reinstall FreeCAD.$\r$\n\
Dou you nevertheles want to install FreeCAD over the existing version?"
${LangFileString} NewerInstalled "Anda akan memasang versi FreeCAD yang lama dari yang sudah terpasang.$\r$\n\
Jika memang dikehendaki, anda harus menghapus dulu FreeCAD yang ada, FreeCAD $OldVersionNumber."
#${LangFileString} FinishPageMessage "Selamat! FreeCAD berhasil diinstal dengan sukses.$\r$\n\
# $\r$\n\
# (Menjalankan FreeCAD untuk pertama kali memerlukan waktu beberapa detik.)"
${LangFileString} FinishPageRun "Menjalankan FreeCAD"
${LangFileString} UnNotInRegistryLabel "Tidak bisa menemukan FreeCAD di catatan registry.$\r$\n\
Shortcuts pada desktop dan yang ada di Menu Start tidak dihapus."
${LangFileString} UnInstallRunning "Anda harus menutup FreeCAD terlebih dahulu!"
${LangFileString} UnNotAdminLabel "Anda harus berlaku dan mempunyai hak sebagai administrator untuk menghapus FreeCAD!"
${LangFileString} UnReallyRemoveLabel "Apakah anda yakin akan menghapus FreeCAD secara menyeluruh termasuk semua komponen yang ada?"
${LangFileString} UnFreeCADPreferencesTitle 'Preferensi pengguna FreeCAD'
#${LangFileString} SecUnProgDescription "Penghapusan program xxx."
${LangFileString} SecUnPreferencesDescription 'Menghapus berkas konfigurasi FreeCAD pada folder$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
untuk semua pengguna.'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Penghapusan FreeCAD serta semua komponen yang ada."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Italian
*/
!insertmacro LANGFILE_EXT "Italian"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Installed for Current User)"
${LangFileString} TEXT_WELCOME "Verrete guidati nell'installazione di $(^NameDA)$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Compilazione degli script Python in corso..."
${LangFileString} TEXT_FINISH_DESKTOP "Crea icona sul desktop"
${LangFileString} TEXT_FINISH_WEBSITE "Visitate freecad.org per ultime novità, aiuto e suggerimenti"
#${LangFileString} FileTypeTitle "Documento di FreeCAD"
#${LangFileString} SecAllUsersTitle "Installare per tutti gli utenti?"
${LangFileString} SecFileAssocTitle "Associazioni dei file"
${LangFileString} SecDesktopTitle "Icona sul Desktop"
${LangFileString} SecCoreDescription "I file di FreeCAD."
#${LangFileString} SecAllUsersDescription "Installazione FreeCAD per tutti gli utenti o solo per l'utente attuale."
${LangFileString} SecFileAssocDescription "Associa i files con estensione .FCStd al programma FreeCAD."
${LangFileString} SecDesktopDescription "Icona FreeCAD sul desktop."
#${LangFileString} SecDictionaries "Dizionari"
#${LangFileString} SecDictionariesDescription "Dizionari per il controllo ortografico che possono essere scaricati e installati."
#${LangFileString} PathName 'Percorso del file $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'Il file $\"xxx.exe$\" non è nel percorso indicato.'
#${LangFileString} DictionariesFailed 'Lo scaricamento del dizionario per la lingua $\"$R3$\" non e$\' andato a buon fine.'
#${LangFileString} ConfigInfo "La seguente configurazione di FreeCAD richiederà un po' di tempo."
#${LangFileString} RunConfigureFailed "Fallito tentativo di eseguire lo script di configurazione"
${LangFileString} InstallRunning "Il programma di installazione è già in esecuzione!"
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} è già installato!$\r$\n\
Procedere con l'installazione su quella esistente non è raccomandabile se la versione version$\r$\n\
è una release di test o se avete problemi con la vostra installazione corrente di FreeCAD.$\r$\n\
In questi casi è preferibile installare nuovamente FreeCAD.$\r$\n\
Volete procedere comunque con l'installazione di FreeCAD su quella esistente?"
${LangFileString} NewerInstalled "Si sta procedendo ad installare una versione di FreeCAD precedente a quella in uso.$\r$\n\
Se si vuole procedere, è necessario prima disinstallare la versione FreeCAD $OldVersionNumber."
#${LangFileString} FinishPageMessage "Congratulazioni! FreeCAD è stato installato con successo.$\r$\n\
# $\r$\n\
# (Il primo avvio di FreeCAD potrebbe richiedere qualche secondo in più.)"
${LangFileString} FinishPageRun "Lancia FreeCAD"
${LangFileString} UnNotInRegistryLabel "Non riesco a trovare FreeCAD nel registro.$\r$\n\
I collegamenti sul desktop e nel menu Start non saranno rimossi."
${LangFileString} UnInstallRunning "È necessario chiudere FreeCAD!"
${LangFileString} UnNotAdminLabel "Occorrono i privilegi da amministratore per rimuovere FreeCAD!"
${LangFileString} UnReallyRemoveLabel "Siete sicuri di voler rimuovere completamente FreeCAD e tutti i suoi componenti?"
${LangFileString} UnFreeCADPreferencesTitle 'Impostazioni personali di FreeCAD'
#${LangFileString} SecUnProgDescription "Rimuove xxx."
${LangFileString} SecUnPreferencesDescription 'Elimina la cartella con la configurazione di FreeCAD$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
per tutti gli utenti.'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Rimuove FreeCAD e tutti i suoi componenti."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Japanese
*/
!insertmacro LANGFILE_EXT "Japanese"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(現ユーザー用に導入を行う)"
${LangFileString} TEXT_WELCOME "このウィザードが、あなたのFreeCAD導入作業中のご案内をします。$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Pythonスクリプトをコンパイルしています..."
${LangFileString} TEXT_FINISH_DESKTOP "デスクトップにショートカットを作成する"
${LangFileString} TEXT_FINISH_WEBSITE "freecad.orgを開いて最新ニュースやサポート、ヒントなどを入手する"
#${LangFileString} FileTypeTitle "FreeCAD文書"
#${LangFileString} SecAllUsersTitle "すべてのユーザー用に導入を行いますか?"
${LangFileString} SecFileAssocTitle "ファイル関連付け"
${LangFileString} SecDesktopTitle "デスクトップ・アイコン"
${LangFileString} SecCoreDescription "FreeCADのファイル。"
#${LangFileString} SecAllUsersDescription "FreeCADをすべてのユーザー用に導入するか、現在のユーザー向けだけに導入するか。"
${LangFileString} SecFileAssocDescription "拡張子が.FCStdのファイルは自動的にFreeCADで開かれる。"
${LangFileString} SecDesktopDescription "デスクトップ上のFreeCADアイコン"
#${LangFileString} SecDictionaries "辞書"
#${LangFileString} SecDictionariesDescription "ダウンロード及び導入が可能なスペルチェック用辞書"
#${LangFileString} PathName '$\"xxx.exe$\"ファイルへのパス'
#${LangFileString} InvalidFolder '指定されたパスに$\"xxx.exe$\"ファイルが見つかりません。'
#${LangFileString} DictionariesFailed '言語$\"$R3$\"用辞書のダウンロードに失敗しました。'
#${LangFileString} ConfigInfo "以下のFreeCADの設定には少々時間がかかります。"
#${LangFileString} RunConfigureFailed "configureスクリプトを実行することができませんでした"
${LangFileString} InstallRunning "導入プログラムは既に動作中です!"
${LangFileString} AlreadyInstalled "FreeCAD${APP_SERIES_KEY2}は既に導入済みです!$\r$\n\
導入済みのバージョンがテスト版であったり、導入済みFreeCADで問題がある場合には、$\r$\n\
上書き導入作業は推奨されません。これらの場合には、FreeCADを最初から再導入する$\r$\n\
ことが推奨されます。$\r$\n\
これらを承知の上で、既存のFreeCADを上書きしますか"
${LangFileString} NewerInstalled "あなたは、既に導入済みのFreeCADよりも古い版を導入しようとしています。$\r$\n\
本当にそうしたいのであれば、既存の FreeCAD $OldVersionNumber をまず導入解除してください。"
#${LangFileString} FinishPageMessage "おめでとうございますFreeCADが正しく導入されました。$\r$\n\
# $\r$\n\
# 初回のFreeCADの起動には時間がかかります。"
${LangFileString} FinishPageRun "FreeCADを起動する"
${LangFileString} UnNotInRegistryLabel "レジストリにFreeCADが見当たりません。$\r$\n\
デスクトップとスタートメニューのショートカットは削除されません。"
${LangFileString} UnInstallRunning "まずFreeCADを閉じてください"
${LangFileString} UnNotAdminLabel "FreeCADの導入解除を行うには、管理者権限を持っていなくてはなりません"
${LangFileString} UnReallyRemoveLabel "本当に、FreeCADとすべての附属コンポーネントを削除してしまう積もりですか"
${LangFileString} UnFreeCADPreferencesTitle 'FreeCADのユーザー設定'
#${LangFileString} SecUnProgDescription "文献管理プログラムxxxの導入解除を行います。"
${LangFileString} SecUnPreferencesDescription 'ユーザー共通のFreeCADの設定フォルダ$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
を削除します'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "FreeCADとすべての附属コンポーネントの導入解除を行います。"

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Norwegian
*/
!insertmacro LANGFILE_EXT "Norwegian"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Installer for denne brukeren)"
${LangFileString} TEXT_WELCOME "Denne veiviseren installerer FreeCAD på datamaskinen din.$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Kompilerer Python script..."
${LangFileString} TEXT_FINISH_DESKTOP "Lager snarveg på skrivebordet"
${LangFileString} TEXT_FINISH_WEBSITE "Besøk freecad.org for de seneste nyhetene, hjelp og støtte"
#${LangFileString} FileTypeTitle "FreeCAD-dokument"
#${LangFileString} SecAllUsersTitle "Installer for alle brukere?"
${LangFileString} SecFileAssocTitle "Fil-assosiasjoner"
${LangFileString} SecDesktopTitle "Skrivebordsikon"
${LangFileString} SecCoreDescription "FreeCAD-filene."
#${LangFileString} SecAllUsersDescription "Installer FreeCAD for alle brukere, eller kun for denne brukeren."
${LangFileString} SecFileAssocDescription "Filer med endelsen .FCStd åpnes automatisk i FreeCAD."
${LangFileString} SecDesktopDescription "Et FreeCAD-ikon på skrivebordet."
#${LangFileString} SecDictionaries "Ordbøker"
#${LangFileString} SecDictionariesDescription "Ordbøker til rettskrivningsprogram som kan lastes ned og installeres."
#${LangFileString} PathName 'Stien til filen $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'Filen $\"xxx.exe$\" fins ikke i den oppgitte mappa.'
#${LangFileString} DictionariesFailed 'Nedlastingen av ordliste for språket $\"$R3$\" feilet.'
#${LangFileString} ConfigInfo "Konfigurasjon av FreeCAD vil ta en stund."
#${LangFileString} RunConfigureFailed "Fikk ikke kjørt konfigurasjonsscriptet"
${LangFileString} InstallRunning "Installasjonsprogrammet er allerede i gang!"
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} er allerede installert!$\r$\n\
Vi anbefaler ikke å installere over en eksisterende installasjon hvis den installere versjonen$\r$\n\
er en testversjon eller om du har problemer med den eksisterende installasjonen.$\r$\n\
I slike tilfeller er det bedre å reinstallere FreeCAD.$\r$\n\
Vil du likevel installere FreeCAD over den eksisterende versjonen?"
${LangFileString} NewerInstalled "Du prøver å installere en eldre versjon av FreeCAD enn den du har installert fra før.$\r$\n\
Dersom du ønsker dette må du avinstallere FreeCAD $OldVersionNumber først."
#${LangFileString} FinishPageMessage "Gratulerer!! FreeCAD er installert.$\r$\n\
# $\r$\n\
# (Første gangs oppstart av FreeCAD kan ta noen sekunder.)"
${LangFileString} FinishPageRun "Start FreeCAD"
${LangFileString} UnNotInRegistryLabel "Fant ikke FreeCAD i registeret.$\r$\n\
Snarveier på skrivebordet og i startmenyen fjernes ikke."
${LangFileString} UnInstallRunning "Du må avslutte FreeCAD først!"
${LangFileString} UnNotAdminLabel "Du må ha administratorrettigheter for å fjerne FreeCAD!"
${LangFileString} UnReallyRemoveLabel "Er du sikker på at du vil fjerne FreeCAD og alle tilhørende komponenter?"
${LangFileString} UnFreeCADPreferencesTitle 'FreeCAD sine bruker innstillinger'
#${LangFileString} SecUnProgDescription "Avinstallerer xxx."
${LangFileString} SecUnPreferencesDescription 'Sletter FreeCAD sine konfigurasjonsmapper$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
for alle brukere.'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Avinstallerer FreeCAD og alle delkomponenter."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Polish
*/
!insertmacro LANGFILE_EXT "Polish"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Zainstalowane dla bieżącego użytkownika)"
${LangFileString} TEXT_WELCOME "Kreator przeprowadzi Ciebie przez proces instalacji FreeCAD$\'a.$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Kompilowanie skryptów Python..."
${LangFileString} TEXT_FINISH_DESKTOP "Utwórz skrót na pulpicie"
${LangFileString} TEXT_FINISH_WEBSITE "Odwiedź freecad.org by poznać wiadomości i wskazówki lub skorzystać ze wsparcia"
#${LangFileString} FileTypeTitle "Dokument FreeCAD"
#${LangFileString} SecAllUsersTitle "Instalacja dla wszystkich użytkowników?"
${LangFileString} SecFileAssocTitle "Skojarzenie plików .FCStd"
${LangFileString} SecDesktopTitle "Ikona na pulpicie"
${LangFileString} SecCoreDescription "Pliki FreeCAD$\'a."
#${LangFileString} SecAllUsersDescription "Instalacja dla wszystkich użytkowników lub tylko dla bieżącego użytkownika."
${LangFileString} SecFileAssocDescription "Skojarzenie FreeCAD-a z plikami o rozszerzeniu .FCStd."
${LangFileString} SecDesktopDescription "Ikona FreeCAD$\'a na pulpicie."
#${LangFileString} SecDictionaries "Słowniki"
#${LangFileString} SecDictionariesDescription "Słowniki sprawdzania pisowni, które mogą zostać pobrane i zainstalowane."
#${LangFileString} PathName 'Ścieżka do pliku $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'Plik $\"xxx.exe$\" nie znajduje się w podanej ścieżce.'
#${LangFileString} DictionariesFailed 'Pobranie słownika dla języka $\"$R3$\" nie powiodło się.'
#${LangFileString} ConfigInfo "Dalsza konfiguracja FreeCAD$\'a chwilę potrwa."
#${LangFileString} RunConfigureFailed "Niedana próba wykonania skryptu konfiguracyjnego"
${LangFileString} InstallRunning "Instalator jest już uruchomiony!"
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} jest już zainstalowany!$\r$\n\
Installing over existing installations is not recommended if the installed version$\r$\n\
is a test release or if you have problems with your existing FreeCAD installation.$\r$\n\
In these cases better reinstall FreeCAD.$\r$\n\
Dou you nevertheles want to install FreeCAD over the existing version?"
${LangFileString} NewerInstalled "Próbujesz zainstalować starszą wersję FreeCAD, niż ta która jest już zainstalowana.$\r$\n\
Jeżeli naprawdę chcesz tego dokonać, musisz wpierw odinstalować FreeCAD $OldVersionNumber."
#${LangFileString} FinishPageMessage "Gratulacje! FreeCAD został pomyślnie zainstalowany.$\r$\n\
# $\r$\n\
# (Pierwsze uruchomienie może potrwać kilka sekund.)"
${LangFileString} FinishPageRun "Uruchom FreeCAD"
${LangFileString} UnNotInRegistryLabel "Nie można znaleźć FreeCAD$\'a w rejestrze.$\r$\n\
Skróty na pulpicie i w menu Start nie zostaną usunięte."
${LangFileString} UnInstallRunning "Musisz najpierw zamknąć FreeCAD$\'a!"
${LangFileString} UnNotAdminLabel "Musisz posiadać prawa administratora do deinstalacji programu FreeCAD."
${LangFileString} UnReallyRemoveLabel "Czy na pewno chcesz usunąć FreeCAD$\'a i wszystkie jego komponenty?"
${LangFileString} UnFreeCADPreferencesTitle 'Preferencje użytkownika FreeCAD$\'a'
#${LangFileString} SecUnProgDescription "Deinstalacja xxx."
${LangFileString} SecUnPreferencesDescription 'Usuwa folder konfiguracji FreeCAD$\'a$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
wszystkim użytkownikom.'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Deinstalacja FreeCAD i wszystkich jego komponentów."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Portuguese
*/
!insertmacro LANGFILE_EXT "Portuguese"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Instalado para o Utilizador Atual)"
${LangFileString} TEXT_WELCOME "Este assistente de instalação irá guiá-lo através da instalação do FreeCAD.$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Compilando os scripts de Python..."
${LangFileString} TEXT_FINISH_DESKTOP "Criar um atalho no ambiente de trabalho"
${LangFileString} TEXT_FINISH_WEBSITE "Visite freecad.org para as últimas notícias, suporte e dicas"
#${LangFileString} FileTypeTitle "Documento FreeCAD"
#${LangFileString} SecAllUsersTitle "Instalar para todos os utilizadores?"
${LangFileString} SecFileAssocTitle "Associação dos ficheiros"
${LangFileString} SecDesktopTitle "Icone do ambiente de trabalho"
${LangFileString} SecCoreDescription "Os ficheiros FreeCAD."
#${LangFileString} SecAllUsersDescription "Instalar o FreeCAD para todos os utilizadores ou apenas para o presente utilizador."
${LangFileString} SecFileAssocDescription "Os ficheiros com a extensão .FCStd irão abrir automaticamente no FreeCAD."
${LangFileString} SecDesktopDescription "Um icone do FreeCAD no ambiente de trabalho."
#${LangFileString} SecDictionaries "Dicionários"
#${LangFileString} SecDictionariesDescription "Dicionários do corretor ortográfico que podem ser descarregados e instalados."
#${LangFileString} PathName 'Caminho ao ficheiro $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'O ficheiro $\"xxx.exe$\" não está no caminho especificado.'
#${LangFileString} DictionariesFailed 'Falha ao descarregar o dicionário para o idioma $\"$R3$\".'
#${LangFileString} ConfigInfo "A configuração seguinte do FreeCAD irá demorar um bocado."
#${LangFileString} RunConfigureFailed "Não foi possível executar o script de configuração"
${LangFileString} InstallRunning "O instalador já está a correr!"
${LangFileString} AlreadyInstalled "O FreeCAD ${APP_SERIES_KEY2} já está instalado!$\r$\n\
Não é recomendado instalar sobre uma instalação já existente se a versão instalada$\r$\n\
é uma versão de teste ou se tiver problemas com a instalação atual.$\r$\n\
Nestes casos é melhor reinstalar o FreeCAD$\r$\n\
Quer continuar na mesma a instalar o FreeCAD sobre a versão existente?"
${LangFileString} NewerInstalled "Está a tentar instalar uma versão mais antiga do que a que tem instalada.$\r$\n\
Se realmente quer fazer isto deve antes desinstalar o FreeCAD $OldVersionNumber."
#${LangFileString} FinishPageMessage "Parabéns! O FreeCAD foi instalado com sucesso.$\r$\n\
# $\r$\n\
# (O primeiro início do FreeCAD pode levar alguns segundos.)"
${LangFileString} FinishPageRun "Lançar o FreeCAD"
${LangFileString} UnNotInRegistryLabel "Incapaz de encontrar o FreeCAD no registry.$\r$\n\
Os atalhos para o ambiente de trabalho no menu Start não serão removidos."
${LangFileString} UnInstallRunning "Deve fechar o FreeCAD em primeiro lugar!"
${LangFileString} UnNotAdminLabel "Precisa de privilégios de administrador para desinstalar o FreeCAD!"
${LangFileString} UnReallyRemoveLabel "Tem a certeza que quer remover completamente o FreeCAD e todas as suas componentes?"
${LangFileString} UnFreeCADPreferencesTitle 'Preferências de utilizador do FreeCAD'
#${LangFileString} SecUnProgDescription "Desinstala xxx."
${LangFileString} SecUnPreferencesDescription 'Apaga as pastas de configuração do FreeCAD$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
de todos os utilizadores.'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Desinstala FreeCAD e todas as suas componentes."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Brazilian Portuguese
*/
!insertmacro LANGFILE_EXT "PortugueseBR"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Instalado para o Usuário Atual)"
${LangFileString} TEXT_WELCOME "Este assistente guiará você durante a instalação do $(^NameDA), $\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Compilando scripts Python..."
${LangFileString} TEXT_FINISH_DESKTOP "Criar atalho na área de trabalho"
${LangFileString} TEXT_FINISH_WEBSITE "Visite freecad.org para ver as últimas novidades do FreeCAD!"
#${LangFileString} FileTypeTitle "Documento-FreeCAD"
#${LangFileString} SecAllUsersTitle "Instalar para todos os usuários?"
${LangFileString} SecFileAssocTitle "Associações de arquivos"
${LangFileString} SecDesktopTitle "Ícone de área de trabalho"
${LangFileString} SecCoreDescription "Os arquivos do FreeCAD."
#${LangFileString} SecAllUsersDescription "Instalar o FreeCAD para todos os usuários ou apenas para o usuário atual."
${LangFileString} SecFileAssocDescription "Arquivos com a extensão .FCStd serão abertos automaticamente no FreeCAD."
${LangFileString} SecDesktopDescription "Um ícone do FreeCAD na área de trabalho."
#${LangFileString} SecDictionaries "Dicionários"
#${LangFileString} SecDictionariesDescription "Dicionários ortográficos que podem ser baixados e instalados."
#${LangFileString} PathName 'Caminho para o arquivo $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'O arquivo $\"xxx.exe$\" não existe no caminho especificado.'
#${LangFileString} DictionariesFailed 'Ocorreu uma falha ao baixar o dicionário ortográfico do idioma $\"$R3$\".'
#${LangFileString} ConfigInfo "A configuração do FreeCAD que será feita a seguir vai demorar bastante."
#${LangFileString} RunConfigureFailed "Não foi possível executar o script de configuração"
${LangFileString} InstallRunning "O instalador já está em execução!"
${LangFileString} AlreadyInstalled "O FreeCAD ${APP_SERIES_KEY2} já está instalado!$\r$\n\
Não é recomendado instalar sobre uma instalação existente se a versão já instalada$\r$\n\
for uma versão de teste ou se houver algum problema com a instalação existente do FreeCAD.$\r$\n\
Nesses casos é melhor reinstalar o FreeCAD.$\r$\n\
Deseja instalar sobre a versão existente mesmo assim?"
${LangFileString} NewerInstalled "A versão que você está tentando instalar é mais antiga que aquela que já está instalada.$\r$\n\
Se isso for realmente o que deseja, primeiro desinstale o FreeCAD $OldVersionNumber."
#${LangFileString} FinishPageMessage "Parabéns! O FreeCAD foi instalado com sucesso.$\r$\n\
# $\r$\n\
# (A primeira execução do FreeCAD pode demorar alguns segundos.)"
${LangFileString} FinishPageRun "Executar o FreeCAD"
${LangFileString} UnNotInRegistryLabel "Não foi possível encontrar o FreeCAD no Registro.$\r$\n\
Os atalhos na área de trabalho e no Menu Iniciar não serão removidos."
${LangFileString} UnInstallRunning "É necessário fechar o FreeCAD primeiro!"
${LangFileString} UnNotAdminLabel "Para desinstalar o FreeCAD é necessário ter privilégios de administrador!"
${LangFileString} UnReallyRemoveLabel "Tem certeza que deseja remover completamente o FreeCAD e todos os seus componentes?"
${LangFileString} UnFreeCADPreferencesTitle 'Preferências de usuário do FreeCAD'
#${LangFileString} SecUnProgDescription "Desinstala xxx."
${LangFileString} SecUnPreferencesDescription 'Exclui a configuração do FreeCAD$\r$\n\
(pasta $\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
para você ou para todos os usuários (se você for um administrador)).'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Desinstalar o FreeCAD e todos os seus componentes."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Romanian
*/
!insertmacro LANGFILE_EXT "Romanian"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Installed for Current User)"
${LangFileString} TEXT_WELCOME "Acest asistent vă va ghida în procesul de instalare a programului FreeCAD. $\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Compiling Python scripts..."
${LangFileString} TEXT_FINISH_DESKTOP "Create desktop shortcut"
${LangFileString} TEXT_FINISH_WEBSITE "Visit freecad.org for the latest news, support and tips"
#${LangFileString} FileTypeTitle "Document FreeCAD"
#${LangFileString} SecAllUsersTitle "Doriţi să instalaţi pentru toţi utilizatorii?"
${LangFileString} SecFileAssocTitle "Asocierea fişierelor"
${LangFileString} SecDesktopTitle "Iconiţă pe desktop"
${LangFileString} SecCoreDescription "Fişierele FreeCAD."
#${LangFileString} SecAllUsersDescription "Instalează FreeCAD pentru toţi utilizatorii sau doar pentru utilizatorul curent."
${LangFileString} SecFileAssocDescription "Fişierele cu extensia .FCStd vor fi deschise automat cu FreeCAD."
${LangFileString} SecDesktopDescription "A iconiţă FreeCAD pe desktop."
#${LangFileString} SecDictionaries "Dicționare"
#${LangFileString} SecDictionariesDescription "Spell-checker dictionaries that can be downloaded and installed."
#${LangFileString} PathName 'Calea către fişierul $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'Fişierul $\"xxx.exe$\" nu se află în calea specificată.'
#${LangFileString} DictionariesFailed 'Download of dictionary for language $\"$R3$\" failed.'
#${LangFileString} ConfigInfo "Configurarea programului FreeCAD va dura o perioadă de timp."
#${LangFileString} RunConfigureFailed "Nu am putut executa scriptul de configurare"
${LangFileString} InstallRunning "Programul de instalare este deja pornit!"
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} este deja instalat!$\r$\n\
Installing over existing installations is not recommended if the installed version$\r$\n\
is a test release or if you have problems with your existing FreeCAD installation.$\r$\n\
In these cases better reinstall FreeCAD.$\r$\n\
Dou you nevertheles want to install FreeCAD over the existing version?"
${LangFileString} NewerInstalled "You are trying to install an older version of FreeCAD than what you have installed.$\r$\n\
If you really want this, you must uninstall the existing FreeCAD $OldVersionNumber before."
#${LangFileString} FinishPageMessage "Felicitări! FreeCAD a fost instalat cu succes.$\r$\n\
# $\r$\n\
# (Prima oară cînd porniţi FreeCAD s-ar putea să dureze cîteva secunde.)"
${LangFileString} FinishPageRun "Lansează FreeCAD"
${LangFileString} UnNotInRegistryLabel "Nu am găsit FreeCAD în registri.$\r$\n\
Scurtăturile de pe desktop şi Start Menu nu vor fi şterse."
${LangFileString} UnInstallRunning "Trebuie să inchideţi FreeCAD prima oară!"
${LangFileString} UnNotAdminLabel "Trebuie să aveţi drepturi de administrator pentru dezinstalarea programului FreeCAD!"
${LangFileString} UnReallyRemoveLabel "Sunteţi sigur că doriţi să dezinstalaţi programul FreeCAD şi toate componentele lui?"
${LangFileString} UnFreeCADPreferencesTitle 'Preferinţele utilizatorului pentru FreeCAD'
#${LangFileString} SecUnProgDescription "Dezinstalează xxx."
${LangFileString} SecUnPreferencesDescription 'Şterge directorul cu setările FreeCAD$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
pentru toţi utilizatorii.'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Dezinstalaţi programul FreeCAD şi toate componentele lui."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Russian
*/
!insertmacro LANGFILE_EXT "Russian"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Установлено для текущего пользователя)"
${LangFileString} TEXT_WELCOME "Этот мастер проведет вас через процесс установки $(^NameDA). $\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Компиляция скриптов Python..."
${LangFileString} TEXT_FINISH_DESKTOP "Создать ярлык на рабочем столе"
${LangFileString} TEXT_FINISH_WEBSITE "Перейти на freecad.org за новостями, поддержкой и советами"
#${LangFileString} FileTypeTitle "FreeCAD-Document"
#${LangFileString} SecAllUsersTitle "Установить для всех пользователей?"
${LangFileString} SecFileAssocTitle "Ассоциации файлов"
${LangFileString} SecDesktopTitle "Значок на рабочем столе"
${LangFileString} SecCoreDescription "Файлы FreeCAD."
#${LangFileString} SecAllUsersDescription "Установить FreeCAD для всех пользователей или только для текущего пользователя."
${LangFileString} SecFileAssocDescription "Файлы с расширением .FCStd будут автоматически открываться в FreeCAD."
${LangFileString} SecDesktopDescription "Значок FreeCAD на рабочем столе."
#${LangFileString} SecDictionaries "Словари"
#${LangFileString} SecDictionariesDescription "Словари для проверки орфографии, которые можно скачать и установить."
#${LangFileString} PathName 'Путь к файлу $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'Файл $\"xxx.exe$\" отсутствует по этому пути.'
#${LangFileString} DictionariesFailed 'Не удалось загрузить словарь для языка $\"$R3$\".'
#${LangFileString} ConfigInfo "Следующая конфигурация FreeCAD займет некоторое время."
#${LangFileString} RunConfigureFailed "Не удалось выполнить сценарий настройки"
${LangFileString} InstallRunning "Установщик уже запущен!"
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} уже установлен!$\r$\n\
Установка поверх существующих установок не рекомендуется, если установленная версия$\r$\n\
является тестовым выпуском или у вас возникли проблемы с существующей установкой FreeCAD.$\r$\n\
В этих случаях лучше переустановить FreeCAD.$\r$\n\
Вы все равно хотите установить FreeCAD поверх существующей версии?"
${LangFileString} NewerInstalled "Вы пытаетесь установить более старую версию FreeCAD, чем уже установленная.$\r$\n\
Если вы действительно хотите этого, то сначала необходимо удалить существующий FreeCAD $OldVersionNumber."
#${LangFileString} FinishPageMessage "Поздравляем! FreeCAD был успешно установлен.$\r$\n\
# $\r$\n\
# (Первый запуск FreeCAD может занять несколько секунд.)"
${LangFileString} FinishPageRun "Запустить FreeCAD"
${LangFileString} UnNotInRegistryLabel "Не удалось найти FreeCAD в реестре.$\r$\n\
Ярлыки на рабочем столе и в меню Пуск не будут удалены."
${LangFileString} UnInstallRunning "Вы должны сначала закрыть FreeCAD!"
${LangFileString} UnNotAdminLabel "Необходимо иметь права администратора для удаления FreeCAD!"
${LangFileString} UnReallyRemoveLabel "Вы действительно хотите полностью удалить FreeCAD и все его компоненты?"
${LangFileString} UnFreeCADPreferencesTitle 'Пользовательские настройки FreeCAD'
#${LangFileString} SecUnProgDescription "Удалить менеджер xxx."
${LangFileString} SecUnPreferencesDescription 'Удалить настройки FreeCAD$\r$\n\
(каталог $\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
для вас или для всех пользователей (если вы администратор).'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Удалить FreeCAD и все его компоненты."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Slovak
*/
!insertmacro LANGFILE_EXT "Slovak"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Inštalované pre súčasného užívateľa)"
${LangFileString} TEXT_WELCOME "Tento sprievodca Vám pomáha inštalovať FreeCAD.$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Kompilácia Python skriptov..."
${LangFileString} TEXT_FINISH_DESKTOP "Vytvoriť skratku pre pracovnú plochu"
${LangFileString} TEXT_FINISH_WEBSITE "Navštívte freecad.org pre posledné novinky, podporu a tipy"
#${LangFileString} FileTypeTitle "FreeCAD dokument"
#${LangFileString} SecAllUsersTitle "Inštalovať pre všetkých užívateľov?"
${LangFileString} SecFileAssocTitle "Asociácie súborov"
${LangFileString} SecDesktopTitle "Ikona pracovnej plochy"
${LangFileString} SecCoreDescription "Súbory FreeCADu."
#${LangFileString} SecAllUsersDescription "Inštalovať FreeCAD pre všetkých užívateľov alebo len pre súčasného užívateľa."
${LangFileString} SecFileAssocDescription "Súbory s rozšírením .FCStd sa automaticky otvárajú v FreeCADe."
${LangFileString} SecDesktopDescription "Ikona FreeCADa na pracovnej ploche."
#${LangFileString} SecDictionaries "Slovníky"
#${LangFileString} SecDictionariesDescription "Slovníky pre kontrolu pravopisu ktoré možno načítať a inštalovať."
#${LangFileString} PathName 'Cesta na súbor $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'Súbor $\"xxx.exe$\" nie je na špecifikovanej ceste.'
#${LangFileString} DictionariesFailed 'Načítanie slovníka pre jazyk $\"$R3$\" zlyhalo.'
#${LangFileString} ConfigInfo "Nasledujúca konfigurácia FreeCADu trochu potrvá."
#${LangFileString} RunConfigureFailed "Nedal sa spustiť konfiguračný skript"
${LangFileString} InstallRunning "Inštalačný program už beží!"
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} je už inštalovaný!$\r$\n\
Inštalovať ponad existujúce inštalácie sa nedoporučuje keď inštalovaná verzia$\r$\n\
je testovné vydanie alebo keď máte problémy s existujúcou inštaláciou.$\r$\n\
V takýchto prípadoch je lepšie reinštalovať FreeCAD.$\r$\n\
Napriek tomu chcete inštalovať FreeCAD ponad existujúcu verziu?"
${LangFileString} NewerInstalled "Pokúšate sa inštalovať verziu FreeCADu ktorá je staršia ako tá ktorá je inštalovaná.$\r$\n\
Keď to naozaj chcete, odinštalujte najprv existujúci FreeCAD $OldVersionNumber."
#${LangFileString} FinishPageMessage "Gratulácia! FreeCAD bol úspešne inštalovaný.$\r$\n\
# $\r$\n\
# (Prvý FreeCAD štart môže trvať niekoľko sekúnd.)"
${LangFileString} FinishPageRun "Spustiť FreeCAD"
${LangFileString} UnNotInRegistryLabel "Nemôžem nájsť FreeCAD v registre.$\r$\n\
Skratky na pracovnej ploche a v štartovacom Menu sa nedajú odstrániť."
${LangFileString} UnInstallRunning "Najprv treba zavrieť FreeCAD!"
${LangFileString} UnNotAdminLabel "Pre odinštaláciu FreeCAD potrebujete administrátorské práva!"
${LangFileString} UnReallyRemoveLabel "Ste si istý, že chcete kompletne odinštalovať FreeCAD a všetky jeho súčiastky?"
${LangFileString} UnFreeCADPreferencesTitle 'FreeCADove užívateľské nastavenia'
#${LangFileString} SecUnProgDescription "Odinštaluje xxx."
${LangFileString} SecUnPreferencesDescription 'Odstráni konfiguračný adresár FreeCADu $\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
pre všetkých užívateľov (keď máte administrátorské práva).'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Odinštaluj FreeCAD a všetky jeho súčiastky."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Spanish
*/
!insertmacro LANGFILE_EXT "Spanish"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Instalado para el actual usuario)"
${LangFileString} TEXT_WELCOME "Este programa instalará FreeCAD en su ordenador.$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Compilando guiones Python..."
${LangFileString} TEXT_FINISH_DESKTOP "Crear acceso directo en el escritorio"
${LangFileString} TEXT_FINISH_WEBSITE "Visite freecad.org para últimas noticias, ayuda y consejos"
#${LangFileString} FileTypeTitle "Documento FreeCAD"
#${LangFileString} SecAllUsersTitle "Instalar para todos los usuarios"
${LangFileString} SecFileAssocTitle "Asociar ficheros"
${LangFileString} SecDesktopTitle "Icono de escritorio"
${LangFileString} SecCoreDescription "Los ficheros de FreeCAD."
#${LangFileString} SecAllUsersDescription "Instalar FreeCAD para todos los usuarios o sólo para el usuario actual."
${LangFileString} SecFileAssocDescription "Asociar la extensión .FCStd con FreeCAD."
${LangFileString} SecDesktopDescription "Crear un icono de FreeCAD en el escritorio."
#${LangFileString} SecDictionaries "Diccionarios"
#${LangFileString} SecDictionariesDescription "Diccionarios de revisión ortográfica que se pueden descargar e instalar."
#${LangFileString} PathName 'Ruta al fichero $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'Imposible encontrar $\"xxx.exe$\".'
#${LangFileString} DictionariesFailed 'La descarga del diccionario para el idioma $\"$R3$\" ha fallado.'
#${LangFileString} ConfigInfo "La siguiente configuración de FreeCAD va a tardar un poco."
#${LangFileString} RunConfigureFailed "Error al intentar ejecutar el programa de configuración"
${LangFileString} InstallRunning "El instalador ya está siendo ejecutado!"
${LangFileString} AlreadyInstalled "¡FreeCAD ${APP_SERIES_KEY2} ya está instalado!$\r$\n\
Se recomienda no instalar sobre una instalación existente$\r$\n\
si la versión instalada es de prueba o da problemas.$\r$\n\
En estos casos es mejor reinstalar FreeCAD.$\r$\n\
Aún así, ¿quiere instalar FreeCAD sobre la versión existente?"
${LangFileString} NewerInstalled "Está tratando de instalar una versión de FreeCAD más antigua que la que tiene instalada.$\r$\n\
Si realmente lo desea, debe desinstalar antes la versión de FreeCAD instalada $OldVersionNumber."
#${LangFileString} FinishPageMessage "¡Enhorabuena! FreeCAD ha sido instalado con éxito.$\r$\n\
# $\r$\n\
# (El primer arranque de FreeCAD puede tardar algunos segundos.)"
${LangFileString} FinishPageRun "Ejecutar FreeCAD"
${LangFileString} UnNotInRegistryLabel "Imposible encontrar FreeCAD en el registro.$\r$\n\
Los accesos rápidos del escritorio y del Menú de Inicio no serán eliminados."
${LangFileString} UnInstallRunning "Antes cierre FreeCAD!"
${LangFileString} UnNotAdminLabel "Necesita privilegios de administrador para desinstalar FreeCAD!"
${LangFileString} UnReallyRemoveLabel "¿Está seguro de que desea eliminar completamente FreeCAD y todos sus componentes?"
${LangFileString} UnFreeCADPreferencesTitle 'Preferencias de usuario de FreeCAD'
#${LangFileString} SecUnProgDescription "Desinstala xxx."
${LangFileString} SecUnPreferencesDescription 'Elimina las carpetas de configuración de FreeCAD$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
de todos los usuarios.'
${LangFileString} DialogUnPreferences 'Eligió eliminar la configuración de usuario de FreeCAD.$\r$\n\
Esto también eliminará todos los addons de FreeCAD instalados.$\r$\n\
¿Está de acuerdo con esto?'
${LangFileString} SecUnProgramFilesDescription "Desinstala FreeCAD y todos sus componentes."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Swedish
*/
!insertmacro LANGFILE_EXT "Swedish"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Installerad för aktuell användare)"
${LangFileString} TEXT_WELCOME "Denna guide tar dig igenom installationen av $(^NameDA), $\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Kompilerar Pythonskript..."
${LangFileString} TEXT_FINISH_DESKTOP "Skapa skrivbordsgenväg"
${LangFileString} TEXT_FINISH_WEBSITE "Besök freecad.org för de senaste nyheterna, support och tips"
#${LangFileString} FileTypeTitle "FreeCAD-dokument"
#${LangFileString} SecAllUsersTitle "Installera för alla användare?"
${LangFileString} SecFileAssocTitle "Filassociationer"
${LangFileString} SecDesktopTitle "Skrivbordsikon"
${LangFileString} SecCoreDescription "FreeCAD-filerna."
#${LangFileString} SecAllUsersDescription "Installera FreeCAD för alla användare, eller enbart för den aktuella användaren."
${LangFileString} SecFileAssocDescription "Filer med ändelsen .FCStd kommer att automatiskt öppnas i FreeCAD."
${LangFileString} SecDesktopDescription "En FreeCAD-ikon på skrivbordet."
#${LangFileString} SecDictionaries "Ordböcker"
#${LangFileString} SecDictionariesDescription "Stavningskontrollens ordböcker som kan laddas ned och installeras."
#${LangFileString} PathName 'Sökväg till filen $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'Filen $\"xxx.exe$\" finns inte i den angivna sökvägen.'
#${LangFileString} DictionariesFailed 'Nedladdning av ordbok för språk $\"$R3$\" misslyckades.'
#${LangFileString} ConfigInfo "Följande konfigurering av FreeCAD kommer att ta en stund."
#${LangFileString} RunConfigureFailed "Kunde inte köra konfigurationsskriptet"
${LangFileString} InstallRunning "Installationsprogrammet körs redan!"
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} är redan installerad!$\r$\n\
Att installera över en nuvarande installation är inte rekommenderat om den installerade$\r$\n\
versionen är en testutgåva eller om du har problem med din nuvarande FreeCAD-installation.$\r$\n\
I dessa fall är det bättre att ominstallera FreeCAD.$\r$\n\
Vill du ändå installera FreeCAD över den nuvarande versionen?"
${LangFileString} NewerInstalled "Du försöker att installera en äldre version av FreeCAD än vad du har installerad.$\r$\n\
Om du verkligen vill detta måste du avinstallera den befintliga FreeCAD $OldVersionNumber innan."
#${LangFileString} FinishPageMessage "Gratulerar! FreeCAD har installerats framgångsrikt.$\r$\n\
# $\r$\n\
# (Den första starten av FreeCAD kan ta en stund.)"
${LangFileString} FinishPageRun "Kör FreeCAD"
${LangFileString} UnNotInRegistryLabel "Kan inte hitta FreeCAD i registret.$\r$\n\
Genvägar på skrivbordet och i startmenyn kommer inte att tas bort."
${LangFileString} UnInstallRunning "Du måste stänga FreeCAD först!"
${LangFileString} UnNotAdminLabel "Du måste ha administratörsbehörighet för att avinstallera FreeCAD!"
${LangFileString} UnReallyRemoveLabel "Är du säker på att du verkligen vill fullständigt ta bort FreeCAD och alla dess komponenter?"
${LangFileString} UnFreeCADPreferencesTitle 'FreeCAD-användarinställningar'
#${LangFileString} SecUnProgDescription "Avinstallerar xxx."
${LangFileString} SecUnPreferencesDescription 'Raderar FreeCAD-konfiguration$\r$\n\
(katalog $\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
för dig eller för alla användare (om du är admin).'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Avinstallera FreeCAD och alla dess komponenter."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Turkish
*/
!insertmacro LANGFILE_EXT "Turkish"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Installed for Current User)"
${LangFileString} TEXT_WELCOME "Bu sihirbaz size FreeCAD programını kuracak.$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Compiling Python scripts..."
${LangFileString} TEXT_FINISH_DESKTOP "Create desktop shortcut"
${LangFileString} TEXT_FINISH_WEBSITE "Visit freecad.org for the latest news, support and tips"
#${LangFileString} FileTypeTitle "FreeCAD-Document"
#${LangFileString} SecAllUsersTitle "Tüm kullanıcılar için kur?"
${LangFileString} SecFileAssocTitle "Dosya eşleşmeleri"
${LangFileString} SecDesktopTitle "Masaüstü ikonu"
${LangFileString} SecCoreDescription "FreeCAD dosyaları."
#${LangFileString} SecAllUsersDescription "FreeCAD tüm kullanıcılar için mi yoksa yalnızca bu kullanıcıya mı kurulacak."
${LangFileString} SecFileAssocDescription "Uzantısı .FCStd olan dosyalar otomatik olarak FreeCAD ile açılsın."
${LangFileString} SecDesktopDescription "Masaüstüne bir FreeCAD ikonu koy."
#${LangFileString} SecDictionaries "Sözlükleri"
#${LangFileString} SecDictionariesDescription "Spell-checker dictionaries that can be downloaded and installed."
#${LangFileString} PathName 'Path to the file $\"xxx.exe$\"'
#${LangFileString} InvalidFolder '$\"xxx.exe$\" dosyası belirttiğiniz dizinde bulunamadı.'
#${LangFileString} DictionariesFailed 'Download of dictionary for language $\"$R3$\" failed.'
#${LangFileString} ConfigInfo "Sıradaki FreeCAD yapılandırması biraz zaman alacak."
#${LangFileString} RunConfigureFailed "Yapılandırma programı çalıştırılamadı"
${LangFileString} InstallRunning "Kurulum programı zaten çalışıyor!"
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} kurulu zaten!$\r$\n\
Installing over existing installations is not recommended if the installed version$\r$\n\
is a test release or if you have problems with your existing FreeCAD installation.$\r$\n\
In these cases better reinstall FreeCAD.$\r$\n\
Dou you nevertheles want to install FreeCAD over the existing version?"
${LangFileString} NewerInstalled "You are trying to install an older version of FreeCAD than what you have installed.$\r$\n\
If you really want this, you must uninstall the existing FreeCAD $OldVersionNumber before."
#${LangFileString} FinishPageMessage "Tebrikler! FreeCAD başarıyla kuruldu.$\r$\n\
# $\r$\n\
# (FreeCAD in ilk açılışı birkaç saniye alabilir.)"
${LangFileString} FinishPageRun "FreeCAD Başlat"
${LangFileString} UnNotInRegistryLabel "Sistem kütüğünde FreeCAD bulunamadı.$\r$\n\
Başlat menüsü ve masaüstünüzdeki kısayollar silinemeyecek."
${LangFileString} UnInstallRunning "Önce FreeCAD i kapatmalısınız!"
${LangFileString} UnNotAdminLabel "FreeCAD kaldırabilmek için yönetici yetkileri gerekiyor!"
${LangFileString} UnReallyRemoveLabel "FreeCAD ve tüm bileşenlerini kaldırmak istediğinize emin misiniz?"
${LangFileString} UnFreeCADPreferencesTitle 'FreeCAD$\'s user preferences'
#${LangFileString} SecUnProgDescription "Uninstalls xxx."
${LangFileString} SecUnPreferencesDescription 'Deletes FreeCAD$\'s configuration folder$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
for all users.'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Uninstall FreeCAD and all of its components."

View File

@@ -0,0 +1,70 @@
/*
FreeCAD Installer Language File
Language: Ukrainian
*/
!insertmacro LANGFILE_EXT "Ukrainian"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Встановлено для поточного користувача)"
${LangFileString} TEXT_WELCOME "За допомогою цього майстра ви зможете встановити FreeCAD у вашу систему.$\r$\n\
$\r$\n\
$_CLICK"
#${LangFileString} TEXT_CONFIGURE_PYTHON "Обробка скриптів Python..."
${LangFileString} TEXT_FINISH_DESKTOP "Створити значок на стільниці"
${LangFileString} TEXT_FINISH_WEBSITE "Відвідати freecad.org, щоб ознайомитися з новинами, довідковими матеріалами та підказками"
#${LangFileString} FileTypeTitle "Документ FreeCAD"
#${LangFileString} SecAllUsersTitle "Встановити для всіх користувачів?"
${LangFileString} SecFileAssocTitle "Прив’язка файлів"
${LangFileString} SecDesktopTitle "Піктограма стільниці"
${LangFileString} SecCoreDescription "Файли FreeCAD."
#${LangFileString} SecAllUsersDescription "Визначає, чи слід встановити FreeCAD для всіх користувачів, чи лише для поточного користувача."
${LangFileString} SecFileAssocDescription "Файли з суфіксом .FCStd автоматично відкриватимуться за допомогою FreeCAD."
${LangFileString} SecDesktopDescription "Піктограма FreeCAD на стільниці."
#${LangFileString} SecDictionaries "Словники"
#${LangFileString} SecDictionariesDescription "Словники для перевірки правопису, які можна отримати і встановити."
#${LangFileString} PathName 'Розташування файла $\"xxx.exe$\"'
#${LangFileString} InvalidFolder 'У вказаній теці немає файла $\"xxx.exe$\".'
#${LangFileString} DictionariesFailed 'Спроба отримання словника для мови $\"$R3$\" зазнала невдачі.'
#${LangFileString} ConfigInfo "Налаштування FreeCAD може тривати досить довго."
#${LangFileString} RunConfigureFailed "Не вдалося виконати скрипт налаштування"
${LangFileString} InstallRunning "Засіб для встановлення вже працює!"
${LangFileString} AlreadyInstalled "FreeCAD ${APP_SERIES_KEY2} вже встановлено!$\r$\n\
Встановлення нової версії на місце вже встановлених не рекомендоване, якщо$\r$\n\
встановлено тестову версію або у вас виникають проблеми із уже встановленим FreeCAD.$\r$\n\
У таких випадках краще перевстановити FreeCAD.$\r$\n\
Чи хочете ви попри ці зауваження встановити FreeCAD на місце наявної версії?"
${LangFileString} NewerInstalled "Ви намагаєтеся встановити версію FreeCAD, яка є застарілою порівняно з вже встановленою.$\r$\n\
Якщо ви хочете встановити застарілу версію, вам слід спочатку вилучити вже встановлений FreeCAD $OldVersionNumber."
#${LangFileString} FinishPageMessage "Вітаємо! FreeCAD було успішно встановлено.$\r$\n\
# $\r$\n\
# (Перший запуск FreeCAD може тривати декілька секунд.)"
${LangFileString} FinishPageRun "Запустити FreeCAD"
${LangFileString} UnNotInRegistryLabel "Не вдалося знайти записи FreeCAD у регістрі.$\r$\n\
Записи на стільниці і у меню запуску вилучено не буде."
${LangFileString} UnInstallRunning "Спочатку слід завершити роботу програми FreeCAD!"
${LangFileString} UnNotAdminLabel "Для вилучення FreeCAD вам слід мати привілеї адміністратора!"
${LangFileString} UnReallyRemoveLabel "Ви справді бажаєте повністю вилучити FreeCAD і всі його компоненти?"
${LangFileString} UnFreeCADPreferencesTitle 'Параметри FreeCAD, встановлені користувачем'
#${LangFileString} SecUnProgDescription "Вилучає xxx."
${LangFileString} SecUnPreferencesDescription 'Вилучає теку з налаштуваннями FreeCAD$\r$\n\
$\"$AppPre\username\$\r$\n\
$AppSuff\$\r$\n\
${APP_DIR_USERDATA}$\")$\r$\n\
для всіх користувачів.'
${LangFileString} DialogUnPreferences 'You chose to delete the FreeCADs user configuration.$\r$\n\
This will also delete all installed FreeCAD addons.$\r$\n\
Do you agree with this?'
${LangFileString} SecUnProgramFilesDescription "Вилучити FreeCAD і всі його компоненти."

View File

@@ -0,0 +1,112 @@
/*
configure.nsh
Write registry information and configure FreeCAD
*/
#!define SHORTCUT '${APP_NAME} ${APP_SERIES_NAME}.lnk" "$INSTDIR\${APP_RUN}" "" "$INSTDIR\${APP_RUN}" "" "" "" "${APP_SHORTCUT_INFO}"'
#--------------------------------
# Registry information
Section -InstallData
# Registry information
WriteRegStr SHCTX ${APP_REGKEY} "" $INSTDIR
WriteRegStr SHCTX ${APP_REGKEY} "Version" "${APP_VERSION_NUMBER}"
# Start Menu shortcut
SetOutPath "$INSTDIR\bin" # this is the folder in which the shortcut is executed
# we must assure that the folder is not empty (happens on silent install and can accidentally happen)
${if} $StartmenuFolder == ""
StrCpy $StartmenuFolder "${APP_DIR}"
${endif}
CreateDirectory "$SMPROGRAMS\$StartmenuFolder"
CreateShortCut "$SMPROGRAMS\$StartmenuFolder\${APP_NAME}.lnk" "$INSTDIR\${APP_RUN}" "" "$INSTDIR\${APP_RUN}" "" "" "" "${APP_SHORTCUT_INFO}"
# Link to website and Wiki
WriteINIStr "$SMPROGRAMS\$StartmenuFolder\${APP_WEBPAGE_INFO}.url" "InternetShortcut" "URL" "${APP_WEBPAGE}"
WriteINIStr "$SMPROGRAMS\$StartmenuFolder\${APP_WIKI_INFO}.url" "InternetShortcut" "URL" "${APP_WIKI}"
# create desktop icon
${if} $CreateDesktopIcon == "true"
SetOutPath "$INSTDIR\bin"
CreateShortCut "$DESKTOP\${APP_NAME} ${APP_SERIES_NAME}.lnk" "$INSTDIR\${APP_RUN}" "" "$INSTDIR\${APP_RUN}" "" "" "" "${APP_SHORTCUT_INFO}"
${endif}
# Uninstaller information
${If} $MultiUser.InstallMode == "CurrentUser"
WriteRegStr SHCTX ${APP_UNINST_KEY} "DisplayName" "${APP_NAME} ${APP_VERSION} $(TEXT_INSTALL_CURRENTUSER)"
${Else}
WriteRegStr SHCTX ${APP_UNINST_KEY} "DisplayName" "${APP_NAME} ${APP_VERSION}"
${EndIf}
WriteRegStr SHCTX ${APP_UNINST_KEY} "UninstallString" '"$INSTDIR\${SETUP_UNINSTALLER}"'
WriteRegStr SHCTX ${APP_UNINST_KEY} "QuietUninstallString" "$\"$INSTDIR\${SETUP_UNINSTALLER}$\" /S"
WriteRegStr SHCTX ${APP_UNINST_KEY} "DisplayVersion" "${APP_VERSION}"
WriteRegStr SHCTX ${APP_UNINST_KEY} "DisplayIcon" "$INSTDIR\${APP_RUN}"
WriteRegStr SHCTX ${APP_UNINST_KEY} "URLUpdateInfo" "${APP_WEBPAGE}"
WriteRegStr SHCTX ${APP_UNINST_KEY} "URLInfoAbout" "https://www.freecad.org/"
WriteRegStr SHCTX ${APP_UNINST_KEY} "Publisher" "${APP_NAME} Team"
WriteRegStr SHCTX ${APP_UNINST_KEY} "HelpLink" "https://forum.freecad.org/"
WriteRegDWORD SHCTX ${APP_UNINST_KEY} "NoModify" 0x00000001
WriteRegDWORD SHCTX ${APP_UNINST_KEY} "NoRepair" 0x00000001
WriteRegStr SHCTX ${APP_UNINST_KEY} "StartMenu" "$SMPROGRAMS\$StartmenuFolder"
# if we install over an older existing version, remove the old uninstaller information
# NSIS cannot handle numbers with leading zero, thus cut it off before comparing
StrCpy $1 $OldVersionNumber "" 1
StrCpy $2 ${APP_SERIES_KEY} "" 1
${if} $1 < $2
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}$OldVersionNumber"
DeleteRegKey SHCTX "SOFTWARE\${APP_NAME}$OldVersionNumber"
# also delete in the case of an emergency release
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}$OldVersionNumber1"
DeleteRegKey SHCTX "SOFTWARE\${APP_NAME}$OldVersionNumber1"
${endif}
SectionEnd
#--------------------------------
# Write FreeCAD file associations
Section -Configure
# Associate .FCStd files with FreeCAD for current user or all users
${if} $CreateFileAssociations == "true"
WriteRegStr SHCTX "${APP_DIR_REGKEY}" "" "$INSTDIR\${APP_RUN}"
WriteRegStr SHCTX "Software\Classes\${APP_REGNAME_DOC}" "" "${APP_NAME} Document"
WriteRegStr SHCTX "Software\Classes\${APP_REGNAME_DOC}\DefaultIcon" "" "$INSTDIR\${APP_RUN},0"
WriteRegStr SHCTX "Software\Classes\${APP_REGNAME_DOC}\Shell\open\command" "" '"$INSTDIR\${APP_RUN}" --single-instance "%1"'
# we need to update also the automatically created entry about the FreeCAD.exe
# otherwise .FCStd-files will could be opened with an older FreeCAD version
ReadRegStr $0 SHCTX "Software\Classes\Applications\${BIN_FREECAD}\shell\open\command" ""
${if} $0 != "" # if something was found
WriteRegStr SHCTX "Software\Classes\Applications\${BIN_FREECAD}\shell\open\command" "" '"$INSTDIR\${APP_RUN}" --single-instance "%1"'
${endif}
# .FCStd
WriteRegStr SHCTX "Software\Classes\${APP_EXT}" "" "${APP_REGNAME_DOC}"
WriteRegStr SHCTX "Software\Classes\${APP_EXT}" "Content Type" "${APP_MIME_TYPE}"
# if the user is admin, also install the DLL toe preview .FCStd files
${if} $MultiUser.Privileges == "Admin"
# see https://nsis.sourceforge.io/Docs/AppendixB.html#library_install for a description of InstallLib
!insertmacro InstallLib REGDLL NOTSHARED NOREBOOT_NOTPROTECTED ${FILES_THUMBS}\FCStdThumbnail.dll $SYSDIR\FCStdThumbnail.dll $SYSDIR
${endif}
# in any case remove the FCStdThumbnail.dll
RMDir /r "$INSTDIR\thumbnail"
# Eventually refresh shell icons
${RefreshShellIcons}
${endif}
SectionEnd
#--------------------------------
#
Function StartFreeCAD
Exec "$INSTDIR\${APP_RUN}"
FunctionEnd

View File

@@ -0,0 +1,65 @@
/*
install.nsh
Installation of program files, dictionaries and external components
*/
#--------------------------------
# Program files
!include LogicLib.nsh
Section -ProgramFiles SecProgramFiles
# if the $INSTDIR does not contain "FreeCAD" we must add a subfolder to avoid that FreeCAD will e.g.
# be installed directly to C:\programs - the uninstaller will then delete the whole
# C:\programs directory
StrCpy $String "$INSTDIR"
StrCpy $Search "${APP_NAME}"
Call StrPoint # function from Utils.nsh
${if} $Pointer == "-1"
StrCpy $INSTDIR "$INSTDIR\${APP_DIR}"
${endif}
# turn on logging
# Note that this can first be done here since the log file is written to $INSTDIR
# to $INSTDIR must have a valid path before logging can be turned on
LogSet on
# Install and register the core FreeCAD files
# Initializes the plug-ins dir ($PLUGINSDIR) if not already initialized.
# $PLUGINSDIR is automatically deleted when the installer exits.
InitPluginsDir
# Binaries
SetOutPath "$INSTDIR\bin"
# recursively copy all files under bin
File /r "${FILES_FREECAD}\bin\*.*"
# MSVC redistributable DLLs
!ifdef FILES_DEPS
!echo "Including MSVC Redist files from ${FILES_DEPS}"
SetOutPath "$INSTDIR\bin"
File "${FILES_DEPS}\*.*"
!endif
# Others
SetOutPath "$INSTDIR\data"
File /r "${FILES_FREECAD}\data\*.*"
SetOutPath "$INSTDIR\doc"
File /r "${FILES_FREECAD}\doc\*.*"
SetOutPath "$INSTDIR\Ext"
File /r "${FILES_FREECAD}\Ext\*.*"
SetOutPath "$INSTDIR\lib"
File /r "${FILES_FREECAD}\lib\*.*"
SetOutPath "$INSTDIR\Mod"
File /r "${FILES_FREECAD}\Mod\*.*"
SetOutPath "$INSTDIR"
File /r "${FILES_THUMBS}"
# Create uninstaller
WriteUninstaller "$INSTDIR\${SETUP_UNINSTALLER}"
SectionEnd

View File

@@ -0,0 +1,99 @@
/*
uninstall.nsh
Uninstall
*/
Var FileAssociation
# ----------------------------------
Section "un.FreeCAD" un.SecUnProgramFiles
SectionIn RO
# delete start menu folder
ReadRegStr $0 SHCTX "${APP_UNINST_KEY}" "StartMenu"
RMDir /r "$0"
# delete desktop icon
Delete "$DESKTOP\${APP_NAME} ${APP_SERIES_NAME}.lnk"
# remove file extension .FCStd
ReadRegStr $R0 SHCTX "Software\Classes\${APP_EXT}" ""
${if} $R0 == "${APP_REGNAME_DOC}"
DeleteRegKey SHCTX "Software\Classes\${APP_EXT}"
${endif}
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${APP_EXT}"
# remove further FC-specific file extension
DeleteRegKey SHCTX "Software\Classes\${APP_EXT1}" # .FCStd1
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${APP_EXT1}"
DeleteRegKey SHCTX "Software\Classes\${APP_EXT_BAK}" # .FCBak
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${APP_EXT_BAK}"
DeleteRegKey SHCTX "Software\Classes\${APP_EXT_MACRO}" # .FCMacro
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${APP_EXT_MACRO}"
DeleteRegKey SHCTX "Software\Classes\${APP_EXT_MAT}" # .FCMat
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${APP_EXT_MAT}"
DeleteRegKey SHCTX "Software\Classes\${APP_EXT_SCRIPT}" # .FCScript
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${APP_EXT_SCRIPT}"
${if} $MultiUser.Privileges == "Admin"
DeleteRegKey HKCR "${APP_REGNAME_DOC}"
# see https://nsis.sourceforge.io/Docs/AppendixB.html#library_install for a description of UnInstallLib
!insertmacro UnInstallLib REGDLL NOTSHARED NOREBOOT_NOTPROTECTED $SYSDIR\FCStdThumbnail.dll
${endif}
# Uninstaller itself
Delete "$INSTDIR\${SETUP_UNINSTALLER}"
# Application folder
SetOutPath "$TEMP"
RMDir /r "$INSTDIR"
# Registry keys and values
DeleteRegKey SHCTX "${APP_REGKEY_SETUP}"
DeleteRegKey SHCTX "${APP_REGKEY}"
DeleteRegKey SHCTX "${APP_UNINST_KEY}"
DeleteRegKey HKCR "Applications\${BIN_FREECAD}"
DeleteRegValue HKCR "${APP_NAME}.Document\Shell\open\command" ""
DeleteRegValue HKCR "${APP_NAME}.Document\DefaultIcon" ""
# File associations
ReadRegStr $FileAssociation SHELL_CONTEXT "Software\Classes\${APP_EXT}" ""
${If} $FileAssociation == "${APP_REGNAME_DOC}"
DeleteRegKey SHELL_CONTEXT "Software\Classes\${APP_EXT}"
${EndIf}
# clean other registry entry
DeleteRegKey SHCTX "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\${APP_NAME}.exe"
# Eventually refresh shell icons
${RefreshShellIcons}
SectionEnd
#---------------------------------
# user preferences
Section /o "un.$(UnFreeCADPreferencesTitle)" un.SecUnPreferences
# issue a warning dialog
MessageBox MB_YESNO|MB_DEFBUTTON2|MB_ICONEXCLAMATION $(DialogUnPreferences) /SD IDYES IDYES +2 # continue if yes
Goto NotPreferences
# remove FreeCAD's config files
StrCpy $AppSubfolder ${APP_DIR_USERDATA}
Call un.DelAppPathSub # function from Utils.nsh
# remove the registry key that stores the main window parameters
DeleteRegKey HKCU "SOFTWARE\${APP_NAME}"
NotPreferences:
SectionEnd
#---------------------------------
# Section descriptions
!insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${un.SecUnPreferences} "$(SecUnPreferencesDescription)"
!insertmacro MUI_DESCRIPTION_TEXT ${un.SecUnProgramFiles} "$(SecUnProgramFilesDescription)"
!insertmacro MUI_UNFUNCTION_DESCRIPTION_END

Binary file not shown.