You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: WINDOWS.md
+33-2Lines changed: 33 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ You can build Fedora Media Writer yourself. It has just a few dependencies and b
29
29
### Dependencies
30
30
31
31
*`Qt6` (`qtbase`, `qtdeclarative`, `qtsvg` and `qtquickcontrols2`) - already part of the installer
32
-
*`Microsoft Visual C++ Redistributable` for C++ (MSVC) runtime libraries
32
+
*`Microsoft Visual C++ Redistributable` for C++ (MSVC) runtime libraries - the installer will prompt you to install this if it's not already on your system
33
33
34
34
### Steps
35
35
@@ -42,4 +42,35 @@ make
42
42
43
43
### Crosscompilation
44
44
45
-
There is also the [build.sh](/dist/win/build.sh) script included that I use for building a the installer for distribution on this site. It should do everything automatically if you're in Fedora. There are instructions on how to use it inside at the top of the file
45
+
There is also the [build.sh](/dist/win/build.sh) script included that I use for building a the installer for distribution on this site. It should do everything automatically if you're in Fedora. There are instructions on how to use it inside at the top of the file.
46
+
47
+
#### Visual C++ Redistributable Installation
48
+
49
+
The installer handles the [Microsoft Visual C++ Redistributable (2015-2022)](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170) installation on-demand, which is required for the application to run.
50
+
51
+
**How it works:**
52
+
1. During installation, the installer checks if VC++ Redistributable is already installed
53
+
2. If not installed, it prompts the user with a Yes/No dialog:
54
+
```
55
+
Microsoft Visual C++ Redistributable is not installed on your system.
56
+
57
+
It is required for Fedora Media Writer to run properly.
58
+
59
+
Would you like to download and install it now? (approximately 25 MB)
60
+
```
61
+
3. If the user chooses **"Yes"**:
62
+
- Downloads `vc_redist.x64.exe` from Microsoft's official servers
63
+
- Installs it automatically with a progress bar (`/passive` mode)
64
+
- Cleans up the downloaded file
65
+
4. If the user chooses **"No"**:
66
+
- Shows a message with a direct download link for manual installation later
67
+
68
+
**Benefits:**
69
+
- Smaller installer size (no bundled redistributable)
70
+
- Only downloads when needed
71
+
- Always gets the latest version from Microsoft
72
+
- Requires internet connection during installation if VC++ is not already installed
73
+
74
+
**Manual installation:**
75
+
If you prefer to install it separately or if the download fails, you can download it manually from:
@@ -268,6 +279,12 @@ LangString AdmingRightsRequired ${LANG_TURKISH} "Admin rights requi
268
279
LangString AdmingRightsRequired ${LANG_UKRAINIAN}"Admin rights required!"
269
280
LangString AdmingRightsRequired ${LANG_UZBEK}"Admin rights required!"
270
281
282
+
LangString VCRedistNotInstalled ${LANG_ENGLISH}"Microsoft Visual C++ Redistributable is not installed on your system.$\n$\nIt is required for ${APPNAME} to run properly.$\n$\nWould you like to download and install it now? (approximately 25 MB)"
283
+
LangString VCRedistDownloading ${LANG_ENGLISH}"Downloading Microsoft Visual C++ Redistributable..."
284
+
LangString VCRedistInstalling ${LANG_ENGLISH}"Installing Microsoft Visual C++ Redistributable..."
285
+
LangString VCRedistDownloadFailed ${LANG_ENGLISH}"Failed to download Visual C++ Redistributable.$\n$\nPlease check your internet connection and try again,$\nor download it manually from:$\nhttps://aka.ms/vs/17/release/vc_redist.x64.exe"
286
+
LangString VCRedistSkipped ${LANG_ENGLISH}"You have chosen to skip the Visual C++ Redistributable installation.$\n$\n${APPNAME} may not work correctly without it.$\n$\nYou can download it manually from:$\nhttps://aka.ms/vs/17/release/vc_redist.x64.exe"
287
+
271
288
!macro VerifyUserIsAdmin
272
289
UserInfo::GetAccountType
273
290
pop $0
@@ -278,6 +295,44 @@ ${If} $0 != "admin" ;Require admin rights on NT4+
278
295
${EndIf}
279
296
!macroend
280
297
298
+
; Function to detect if VC++ Redistributable 2015-2022 is installed
299
+
; Returns: 1 if installed, 0 if not installed (in $R0)
300
+
Function CheckVCRedist
301
+
Push$0
302
+
Push$1
303
+
304
+
; Default to not installed
305
+
StrCpy$R0"0"
306
+
307
+
ClearErrors
308
+
; Check the primary registry location for x64 VC++ 2015-2022
@@ -268,6 +273,12 @@ LangString AdmingRightsRequired ${LANG_TURKISH} "Admin rights requi
268
273
LangString AdmingRightsRequired ${LANG_UKRAINIAN}"Admin rights required!"
269
274
LangString AdmingRightsRequired ${LANG_UZBEK}"Admin rights required!"
270
275
276
+
LangString VCRedistNotInstalled ${LANG_ENGLISH}"Microsoft Visual C++ Redistributable is not installed on your system.$\n$\nIt is required for ${APPNAME} to run properly.$\n$\nWould you like to download and install it now? (approximately 25 MB)"
277
+
LangString VCRedistDownloading ${LANG_ENGLISH}"Downloading Microsoft Visual C++ Redistributable..."
278
+
LangString VCRedistInstalling ${LANG_ENGLISH}"Installing Microsoft Visual C++ Redistributable..."
279
+
LangString VCRedistDownloadFailed ${LANG_ENGLISH}"Failed to download Visual C++ Redistributable.$\n$\nPlease check your internet connection and try again,$\nor download it manually from:$\nhttps://aka.ms/vs/17/release/vc_redist.x64.exe"
280
+
LangString VCRedistSkipped ${LANG_ENGLISH}"You have chosen to skip the Visual C++ Redistributable installation.$\n$\n${APPNAME} may not work correctly without it.$\n$\nYou can download it manually from:$\nhttps://aka.ms/vs/17/release/vc_redist.x64.exe"
281
+
271
282
!macro VerifyUserIsAdmin
272
283
UserInfo::GetAccountType
273
284
pop $0
@@ -278,6 +289,44 @@ ${If} $0 != "admin" ;Require admin rights on NT4+
278
289
${EndIf}
279
290
!macroend
280
291
292
+
; Function to detect if VC++ Redistributable 2015-2022 is installed
293
+
; Returns: 1 if installed, 0 if not installed (in $R0)
294
+
Function CheckVCRedist
295
+
Push$0
296
+
Push$1
297
+
298
+
; Default to not installed
299
+
StrCpy$R0"0"
300
+
301
+
ClearErrors
302
+
; Check the primary registry location for x64 VC++ 2015-2022
0 commit comments