Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/olayzen/chrome-downloader
Downloads Chrome in MSI Files for Deployment usage
https://github.com/olayzen/chrome-downloader
chrome google google-chrome msi
Last synced: 3 months ago
JSON representation
Downloads Chrome in MSI Files for Deployment usage
- Host: GitHub
- URL: https://github.com/olayzen/chrome-downloader
- Owner: OlaYZen
- License: mit
- Created: 2024-05-21T09:01:10.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-06-04T08:39:03.000Z (7 months ago)
- Last Synced: 2024-10-13T06:42:00.775Z (3 months ago)
- Topics: chrome, google, google-chrome, msi
- Language: PowerShell
- Homepage:
- Size: 52.7 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ⚠️MOVED ⚠️
THIS SCRIPT HAS BEEN MIGRATED TO FORGEJO
```
https://forgejo.olayzen.com/OlaYZen/MSI-Downloader
```
but you can still use the GitHub Version, it is just outdated.# Google Chrome Downloader MSI Script
This PowerShell script automates the process of downloading and organizing Google Chrome installers based on specified configurations. It supports downloading both 64-bit and 32-bit versions of Chrome and organizing them into appropriate folders.
## Script Overview
## Configuration
The script reads its configuration from a JSON file named config.json located in the same directory as the script. The configuration options include:
### Configuration File
The `config.json` file should be structured as follows:
```json
{
"options": {
"enableRegularVersion": true,
"enableForcedVersion": false,
"folderNumberedVersion": false,
"checkExist": false
},
"logging": {
"fileName": "chrome_downloader.log",
"logDateFormat": "dd/MM/yyyy HH:mm:ss"}
}
```- `enableRegularVersion`: A boolean flag to enable downloading and installing the regular version of Chrome.
- `enableForcedVersion`: A boolean flag to enable downloading and installing the forced update version of Chrome.
- `folderNumberedVersion`: A boolean flag to enable the automatic renaming of the folder to the newest version of Chrome. ⚠️ **This option requires administrative privileges when executing the script!** ⚠️
- `checkExist`: A boolean flag to delete old Chrome folders when the script is executed. ⚠️ **This action will delete your Chrome folders, so ensure you have backups if you wish to retain them.** ⚠️
- `fileName`: A string defining the name of the log file. The default format is `chrome_downloader.log`.
- `logDateFormat`: A string defining the format of timestamps in logs. The default format is `dd/MM/yyyy HH:mm:ss`.### Date Configuration
##### `yyyy`: This specifier represents the year portion of the date. It uses four digits to represent the year. For example, 2024.
##### `MM`: This specifier represents the month portion of the date. It uses two digits to represent the month, with leading zeros if necessary. For example, 05 represents May.
##### `dd`: This specifier represents the day portion of the date. It uses two digits to represent the day of the month, with leading zeros if necessary. For example, 23.
##### `HH`: This specifier represents the hour portion of the time in 24-hour format. It uses two digits to represent the hour, ranging from 00 to 23. For example, 14 represents 2 PM in 24-hour format.
More info on HH format
##### `HH` (24-hour format): When HH is used, it represents the hour portion of the time in a 24-hour format, where the hour is represented with two digits from 00 to 23. The HH specifier does not use AM/PM designators since it covers the full 24-hour range. Example: HH:mm:ss might output 14:30:00, representing 2:30 PM in 24-hour format.
##### `hh` (12-hour format): When hh is used, it represents the hour portion of the time in a 12-hour format, where the hour is represented with one or two digits from 1 to 12. The hh specifier is typically used alongside the tt specifier (AM/PM designator) to indicate whether the time is in the AM or PM. Example: hh:mm:ss tt might output 02:30:00 PM, representing 2:30 PM.
##### `mm`: This specifier represents the minute portion of the time. It uses two digits to represent the minutes, with leading zeros if necessary. For example, 30.
##### `ss`: This specifier represents the second portion of the time. It uses two digits to represent the seconds, with leading zeros if necessary. For example, 45.
##### `tt`: This specifier represents the AM/PM designator in a 12-hour time format. It is typically used alongside the hh specifier to indicate whether the time is in the AM or PM. For example, AM or PM.
### Examples
```json
"logDateFormat": "yyyy'/'MM'/'dd hh:mm:ss tt"
```
Output:2024/06/29 03:19:30 p.m.
```json
"logDateFormat": "MM/dd/yyyy HH:mm:ss"
```
Output:06.29.2024 15:19:30
```json
"logDateFormat": "dd-MM-yyyy HH:mm:ss"
```
Output:29-06-2024 15:19:30
### Numbered Version
`folderNumberedVersion`: Set this to `true` to enable automatic renaming of the folder based on the downloaded Chrome version. This action requires administrative privileges.For example, if this option is enabled, the folders will be named as follows:
`false`:
```css
Chrome - VERSION_force_update
````true`:
```css
Chrome - 125.0.6422.113_force_update
```The `folderNumberedVersion` configuration requires administrative privileges because the only way to obtain the Chrome version number is by installing the MSI file and retrieving the version from the Windows registry.
## Script Usage
### 1. Prepare the Environment:Ensure that `config.json` is present in the same directory as the script.
Create the following template folders and populate them with necessary files:
- `Template\Chrome-Template`
- `Template\Chrome-Template-Forced`### 2. Downloading the Script:
You can download the script using `git clone` command. Follow these steps:
1. Open your terminal or command prompt.
2. Navigate to the directory where you want to download the script.
3. Run the following command:
```
git clone https://github.com/OlaYZen/Chrome-Downloader.git
```This command will clone the repository into your current directory.
### 3. Run the Script:
- Open PowerShell and navigate to the directory containing the script and config.json.
- Execute the script:
```css
& '.\Chrome Downloader.ps1'
```### 4. Monitor the Logs:
- Check `chrome_downloader.log` in the script directory for detailed logs of the execution process, including any errors encountered.