Skip to content

Commit

Permalink
Merge pull request #1 from soner-boztas/dev
Browse files Browse the repository at this point in the history
Migrated from Bitbucket to GitHub
  • Loading branch information
soner-boztas authored Apr 8, 2024
2 parents 217f84b + 6b677f1 commit 539c54e
Show file tree
Hide file tree
Showing 57 changed files with 2,538 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf
58 changes: 58 additions & 0 deletions .github/workflows/build_and_deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Build and Deploy Workflow

on:
push:
branches: [ "main" ]

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages.
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
Build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Set up Poetry environment
run: |
python -m pip install --upgrade pip
pip install poetry
poetry install
- name: Set up Pages
id: pages
uses: actions/configure-pages@v5
- name: Perform post-processing
run: |
sed -i "s/\[Year\]/$(date '+%Y')/" mkdocs.yml
sed -i "s/\[Date\]/$(date '+%Y-%m-%d')/" mkdocs.yml
sed -i "s/\[CommitHash\]/$(printf %.7s $GITHUB_SHA)/" mkdocs.yml
sed -i "s/\[Branch\]/$GITHUB_REF_NAME/" mkdocs.yml
- name: Build docs
run: poetry run mkdocs build
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./site

Deploy:
environment:
name: github-pages
url: ${{steps.deployment.outputs.page_url}}
runs-on: ubuntu-latest
needs: Build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
35 changes: 35 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

# Generated by MacOS
.DS_Store

# Generated by Windows
Thumbs.db

# Applications
*.app
*.exe
*.war

### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff
.idea
9 changes: 9 additions & 0 deletions data/EnvironmentVariables.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Environment Variable Name,Description
IF_APPLICATION_NAME,Application name provided in the InstallForge Builder Environment when creating a setup package (see the Product Name field)
IF_APPLICATION_VERSION,Application version provided in the InstallForge Builder Environment when creating a setup package (see the Product Version field)
IF_COMPANY_NAME,Company name provided in the InstallForge Builder Environment when creating a setup package (see the Company Name field)
IF_INSTALLPATH,Installation path selected by the user on the Select Application Folder dialog of the setup
IF_LANGUAGE,Language selected by the user at startup of the setup. The content of this constant corresponds to the name of the language file without extension as it was defined when building the setup package. When setup package is monolingual the content will be empty.
IF_ORGANIZATION,Organization entered by the user on the setup serial validation dialog
IF_SERIAL,Serial entered by the user on the setup serial validation dialog
IF_USERNAME,User name entered by the user on the setup serial validation dialog
42 changes: 42 additions & 0 deletions data/PathConstants.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
Constant Name,Folder Type,Folder Description,Typical Path
"<AdminTools>",Per user,Folder for administrative tools,C:\\Users\\username\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Administrative Tools
"<ApplicationData>",Per user (roaming),Folder containing application-specific data,C:\\Users\\username\\AppData\\Roaming
"<CDBurning>",Per user,Folder for files waiting to be written to an optical disc storage,C:\\Users\\username\\AppData\\Local\\Microsoft\\Windows\\Burn\\Burn
"<CommonAdminTools>",Per machine,Folder containing administrative tools for all users,C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Administrative Tools
"<CommonApplicationData>",Per machine,Contains application-specific data,C:\\ProgramData
"<CommonDesktop>",Per machine,Folder that contains desktop items which appear on the desktop of all users,C:\\Users\\Public\\Desktop
"<CommonDocuments>",Per machine,Documents folder for all users,C:\\Users\\Public\\Documents
"<CommonMusic>",Per machine,Music folder for all users,C:\\Users\\Public\\Music
"<CommonPictures>",Per machine,Pictures folder for all users,C:\\Users\\Public\\Pictures
"<CommonProgramFiles>",Per machine,N/A,On a 64-bit Windows version: C:\\Program Files (x86)\\Common Files. On a 32-bit Windows version: C:\\Program Files\\Common Files
"<CommonProgramFilesX86>",Per machine,N/A,On a 64-bit Windows version: C:\\Program Files (x86)\\Common Files. On a 32-bit Windows version: C:\\Program Files\\Common Files
"<CommonPrograms>",Per machine,Program groups folder for all users,C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs
"<CommonStartMenu>",Per machine,Start menu folder for all users,C:\\ProgramData\\Microsoft\\Windows\\Start Menu
"<CommonStartup>",Per machine,Start menu folder for all users,C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp
"<CommonVideos>",Per machine,Videos folder for all users,C:\\Users\\Public\\Videos
"<Cookies>",Per user,Folder for internet cookies,C:\\Users\\username\\AppData\\Local\\Microsoft\\Windows\\INetCookies
"<Desktop>",Per user,Folder that represents the Windows user desktop,C:\\Users\\username\\Desktop
"<Favorites>",Per user,Contains favorite items of the user,C:\\Users\\username\\Favorites
"<Fonts>",Per machine,Contains font files,C:\\Windows\\Fonts
"<History>",Per user,Contains Internet history items,C:\\Users\\username\\AppData\\Local\\Microsoft\\Windows\\History
"<InstallPath>",Per machine or per user,Installation path selected by the user on the Select Application Folder dialog of the setup,-
"<InternetCache>",Per user,Contains temporary Internet files,C:\\Users\\username\\AppData\\Local\\Microsoft\\Windows\\INetCache
"<LocalApplicationData>",Per user (local),Contains application-specific data,C:\\Users\\username\\AppData\\Local
"<MyDocuments>",Per user,Documents folder of the user,C:\\Users\\username\\Documents
"<MyMusic>",Per user,Repository for music files,C:\\Users\\username\\Music
"<MyPictures>",Per user,Repository for image files,C:\\Users\\username\\Pictures
"<MyVideos>",Per user,Videos folder of the user,C:\\Users\\username\\Videos
"<ProgramFiles>",Per machine,Program files folder for 32-bit applications,On a 64-bit Windows version: C:\\Program Files (x86). On a 32-bit Windows version: C:\\Program Files
"<ProgramFilesX64>",Per machine,Program files folder for 64-bit applications. Only applicable on 64-bit Windows systems.,C:\\Program Files
"<ProgramFilesX86>",Per machine,"Program files folder for 32-bit applications. Equivalent to <ProgramFiles>.",On a 64-bit Windows version: C:\\Program Files (x86). On a 32-bit Windows version: C:\\Program Files
"<Programs>",Per user (roaming),Contains program groups,C:\\Users\\username\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs
"<Recent>",Per user (roaming),Contains shortcuts to the most recently used documents of the user,C:\\Users\\username\\AppData\\Roaming\\Microsoft\\Windows\\Recent
"<Resources>",Per machine;Resources folder for all windows,C:\\Windows\\Resources
"<SendTo>",Per user (roaming),Contains send to menu items of the user,C:\\Users\\username\\AppData\\Roaming\\Microsoft\\Windows\\SendTo
"<StartMenu>",Per user (roaming),Contains start menu items,C:\\Users\\username\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu
"<Startup>",Per user (roaming),Contains startups items of the user. Programs in this folder are started whenever the user logs on.,C:\\Users\\username\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup
"<System>",Per machine,Windows system folder. On a 64-bit Windows version this folder contains 64-bit system files.,C:\\Windows\\System32
"<SystemX86>",Per machine,Windows system folder for 32-bit system files,On a 64-bit Windows version: C:\\Windows\\SysWOW64. On a 32-bit Windows version: C:\\Windows\\System32
"<Templates>",Per user,Common repository for document templates,C:\\Users\\username\\AppData\\Roaming\\Microsoft\\Windows\\Templates
"<UserProfile>",Per user,Profile folder of the user,C:\\Users\\username
"<Windows>",Per machine,Windows folder,C:\\Windows
9 changes: 9 additions & 0 deletions data/SetupConstants.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Setup Constant Name,Description
"<AppName>",Application name provided in the InstallForge Builder Environment when creating a setup package (see the Product Name field ).
"<AppVersion>",Application version provided in the InstallForge Builder Environment when creating a setup package (see the Product Version field)
"<Company>",Company name provided in the InstallForge Builder Environment when creating a setup package (see the Company Name field)
"<Website>",Website URL provided when creating a setup package (see the Website URL field in the InstallForge Builder Environment)
"<Language>",Language selected by the user at startup of the setup. The content of this constant corresponds to the name of the language file without extension as it was defined when building the setup package. When setup package is monolingual the content will be empty.
"<UserName>",User name entered by the user on the setup serial validation dialog.
"<Organization>",Organization entered by the user on the setup serial validation dialog.
"<Serial>",Serial entered by the user on the setup serial validation dialog.
Binary file added docs/assets/IBEOverview.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/addCustomVariableWindow.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/appsAndFeaturesDisplayIcon.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/customVariablesTab.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/exampleEnvironmentVariable0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/favicon.ico
Binary file not shown.
Binary file added docs/assets/iflogo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/installforge_addcommand0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/installforge_addcommand1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/installforge_addcommand2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/languagesFolder.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/launchIFPowerShell.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/launchIFWindowsStartMenu.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/msnotepadencoding.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/programsAndFeaturesDisplayIcon.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/quickStartGuideAddCommand.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/quickStartGuideFiles.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/quickStartGuideGeneral.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/useCustomDisplayIcon.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/useCustomVariable.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions docs/contributing/asking-a-question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Asking a Question

If you have any general or specific questions concerning the use of InstallForge, or if you are stuck with a problem,
please post a message in our [public user forums](https://installforge.net/forums/viewforum.php?f=6). Our user
community will be happy to help you.

!!! info

In order to post a message in our user forums, you will first need to
[create an account](https://installforge.net/forums/ucp.php?mode=register).
6 changes: 6 additions & 0 deletions docs/contributing/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Contributing

As a freeware product, InstallForge depends on the contribution of the public user community. Over the many years,
numerous users have actively contributed through their bug reports, feature requests and donations to make InstallForge
what it is today. If you would also like to actively support InstallForge, check out the different ways to do so in the
navigation on the left.
13 changes: 13 additions & 0 deletions docs/contributing/making-a-donation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Making a Donation

> InstallForge has been available completely free of charge for over 15 years and has been continuously developed since
its first release in 2007 until today. Our mission is still to offer developers a free alternative to distributing their
own software applications. The development of InstallForge is entirely based on the financial support of its users.
Therefore we ask everyone who loves our software as much as we do to support the development with a donation. Thanks! :octicons-heart-fill-24:

_Soner Boztas_, founder & lead software engineer of InstallForge

As a thank you, we will gladly link your private page or the page of your company on the InstallForge homepage. Just
leave us a note when you donate if you wish to do so.

[Make a Donation](https://www.paypal.com/donate/?hosted_button_id=QQH354VPX2FDG){.md-button .md-button--primary }
10 changes: 10 additions & 0 deletions docs/contributing/providing-a-new-language-file.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Providing a New Language File

If you have created a new language file for installation packages built with InstallForge, please share it with the
user community in our [public user forums](https://installforge.net/forums/viewforum.php?f=8).


!!! info

In order to share your language file in our user forums, you will first need to
[create an account](https://installforge.net/forums/ucp.php?mode=register).
26 changes: 26 additions & 0 deletions docs/contributing/reporting-a-bug.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Reporting a Bug

We set high standards for ourselves and always strive to deliver high quality to InstallForge users. However, no
software application on the scale of InstallForge is free from defects. If you think you have found a bug, please
report it in our [public user forums](https://installforge.net/forums/viewforum.php?f=7).

!!! info

In order to report a bug in our user forums, you will first need to
[create an account](https://installforge.net/forums/ucp.php?mode=register).

If you want to report a bug, please provide us with the following information:

- Version of InstallForge you are using (e.g. `1.4.2.21 (x86)`)
- Operating system of the affected [build or target system](../getting-started/system-prerequisites.md) (e.g.
`Windows 11`)
- Detailed description of the bug, including:
- All necessary steps to reproduce the bug
- Relevant input data (e.g. an InstallForge project file)
- Relevant output data (e.g. the log output in the `Build` section of the IBE)
- Expected behavior, i.e. the behavior that would be observed in the absence of the bug.

!!! tip

In order to determine the version of InstallForge you are using, click `Help` → `About InstallForge` in the main
menu of the IBE.
10 changes: 10 additions & 0 deletions docs/contributing/requesting-a-new-feature.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Requesting a New Feature

If there is a feature you would like to see in InstallForge, do not hesitate to make a request in our
[public user forums](https://installforge.net/forums/index.php).


!!! info

In order to make a feature request in our user forums, you will first need to
[create an account](https://installforge.net/forums/ucp.php?mode=register).
35 changes: 35 additions & 0 deletions docs/faq/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Frequently Asked Questions

??? question "Are there any costs associated with using InstallForge?"

No! InstallForge is free to use.

??? question "Do setup packages created with InstallForge depend on any runtime environment (such as .NET)?"

No, not at all! Setup packages created with InstallForge have only minimal dependencies on the Win 32 API and are
compatible even with old Windows versions.

??? question "Are setup packages compiled native machine code?"

Yes! The program code of InstallForge setup package executables is pure C code compiled with
[gcc](https://gcc.gnu.org/).

??? question "Can I deploy any application with setup packages built using InstallForge, regardless of the technology used?"

Yes, indeed. You can deploy any application, regardless of the programming language and technology used for
its development, with setup packages built via InstallForge.

??? question "What is the preferred support channel for InstallForge?"

The first place you should go is our [online forums](https://installforge.net/forums/). There are other
InstallForge users around who will be happy to help you with your questions and problems.

??? question "Are setup packages using the serial verification feature of InstallForge safe?"

The answer to this question depends on how we define "safe." If we define " safe" to mean that the end-user can
only install your application by entering a valid serial string, the answer is "no". This is because a skilled
technical specialist will be able to manually extract the application packaged with your setup. However, this
statement also applies to all competing setup creator products. It is technically not possible to guarantee
absolute safety here. Nevertheless, the serial check function in InstallForge is not pointless because of that.
You just have to make sure that your application is activated based on the entered serial string after
the installation (e.g. via an online service).
25 changes: 25 additions & 0 deletions docs/getting-started/features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Features

- [x] Easy-to-use, wizard-driven graphical user interface
- [x] Support for various Windows® operating systems:
- [x] Windows 11, Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP
- [x] Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2008, Windows Server 2003
- [x] Native, proprietary setup engine producing robust, small and efficient machine-code setup packages without any
dependencies on runtime environments or libraries
- [x] Built-In uninstallation engine
- [x] Multilingual setup packages with support for more than 20 languages
- [x] Customizable GUI of setup packages
- [x] Customizable executable icon of setup packages
- [x] Support for custom setup variables whose values can be retrieved from the Windows® registry
- [x] Support for custom commands which will be executed during the installation process
- [x] Support for actions to be performed after the installation process
- [x] Support for displaying a custom splash screen before the installation process
- [x] Serial validation
- [x] Support for creating Windows® registry entries
- [x] Support for creating desktop and start menu shortcuts
- [x] Support for different compression methods and strengths related to setup packages:
- [x] Lempel-Ziv-Markow-Algorithmus (LZMA)
- [x] Deflate
- [x] bzip2
- [x] BriefLZ
- [x] Integration of a native software update solution (Visual Update Express)
4 changes: 4 additions & 0 deletions docs/getting-started/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Getting Started

If you are new to InstallForge, this section is the place for you. Read the pages listed in the left navigation to get
familiar with InstallForge in no time.
Loading

0 comments on commit 539c54e

Please sign in to comment.