-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added Create module
- Loading branch information
Showing
11 changed files
with
253 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,87 @@ | ||
# extract-xiso-gui | ||
GUI Version of the command line utility [extract-xiso](https://github.com/XboxDev/extract-xiso). | ||
|
||
[Video Demo](https://youtu.be/CrVvFjI6kec) | ||
|
||
## Download | ||
[Latest Release Page](https://github.com/KilLo445/extract-xiso-gui/releases/latest) | ||
[Direct Download](https://github.com/KilLo445/extract-xiso-gui/releases/latest/download/extract-xiso-gui.zip) | ||
<a name="readme-top"></a> | ||
|
||
### List | ||
<br /> | ||
<div align="center"> | ||
|
||
List the file contents within an XISO file. | ||
<p align="center"> | ||
<h1>extract-xiso-gui</h1> | ||
<br /> | ||
GUI Version of the command line utility <a href="https://github.com/XboxDev/extract-xiso">extract-xiso</a>. | ||
<br /> | ||
<br /> | ||
<a href="https://github.com/KilLo445/extract-xiso-gui/issues/new?assignees=&labels=bug&projects=&template=bug_report.md&title=%5BBug+Report%5D+Simple+description+of+the+bug">Report Bug</a> | ||
· | ||
<a href="https://github.com/KilLo445/extract-xiso-gui/issues/new?assignees=&labels=enhancement&projects=&template=feature-request.md&title=%5BFeature+Req%5D+Simple+description+of+your+request">Request Feature</a> | ||
<br /> | ||
<br /> | ||
</p> | ||
|
||
### Rewrite | ||
[![Stargazers][stars-shield]][stars-url] | ||
[![Issues][issues-shield]][issues-url] | ||
</div> | ||
|
||
Rewrite file system structure of an XISO. | ||
<!-- ABOUT THE PROJECT --> | ||
## About The Project | ||
|
||
### Extract | ||
![extract-xiso-gui Screenshot](https://raw.githubusercontent.com/KilLo445/extract-xiso-gui/master/.github/App.png) | ||
([video demo](https://youtu.be/CrVvFjI6kec)) | ||
|
||
Extract XISO contents to a directory. | ||
Features: | ||
* Create | ||
* Create an XISO from a directiory. | ||
* List | ||
* List the file contents within an XISO file. | ||
* Rewrite | ||
* Rewrite file system structure of an XISO. | ||
* Extract | ||
* Extract XISO contents to a directory. | ||
|
||
## Credit | ||
[extract-xiso](https://github.com/XboxDev/extract-xiso) | ||
### Built With | ||
|
||
* [![.NET][.NET]][framework-url] | ||
|
||
<!-- GETTING STARTED --> | ||
## Getting Started | ||
|
||
### Prerequisites | ||
|
||
.NET Framework Runtime 4.8 is required to run extract-xiso-gui. | ||
- [Download page](https://dotnet.microsoft.com/en-us/download/dotnet-framework/net48) | ||
- [Direct (Web)](https://dotnet.microsoft.com/en-us/download/dotnet-framework/thank-you/net48-web-installer) | ||
- [Direct (Offline)](https://dotnet.microsoft.com/en-us/download/dotnet-framework/thank-you/net48-offline-installer) | ||
|
||
### Installation | ||
|
||
1. Head over to the [latest release](https://github.com/KilLo445/extract-xiso-gui/releases/latest) | ||
2. Download `extract-xiso-gui.zip` | ||
3. Extract somewhere safe | ||
4. Run `extract-xiso-gui.exe` | ||
|
||
<!-- LICENSE --> | ||
<!-- ## License | ||
Distributed under the MIT License. See `LICENSE.txt` for more information. --> | ||
|
||
<!-- CONTACT --> | ||
## Contact | ||
|
||
- Discord | ||
- @decentloser / DecentLoser#7263 | ||
- [My Server](https://discord.gg/66qymzdtMw) (Preferred) | ||
- Twitter / X | ||
- [@KilLo445](https://twitter.com/KilLo445) | ||
|
||
<!-- MARKDOWN LINKS & IMAGES --> | ||
<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --> | ||
[forks-shield]: https://img.shields.io/github/forks/KilLo445/extract-xiso-gui.svg?style=for-the-badge | ||
[forks-url]: https://github.com/KilLo445/extract-xiso-gui/network/members | ||
[stars-shield]: https://img.shields.io/github/stars/KilLo445/extract-xiso-gui.svg?style=for-the-badge | ||
[stars-url]: https://github.com/KilLo445/extract-xiso-gui/stargazers | ||
[issues-shield]: https://img.shields.io/github/issues/KilLo445/extract-xiso-gui.svg?style=for-the-badge | ||
[issues-url]: https://github.com/KilLo445/extract-xiso-gui/issues | ||
[.NET]: https://img.shields.io/badge/.NET_Framework-5C2D91?style=for-the-badge&logo=.net&logoColor=white | ||
[Framework]: https://img.shields.io/badge/.NET_Framework-4.8-purple | ||
[framework-url]: https://dotnet.microsoft.com/en-us/download/dotnet-framework | ||
|
||
<!-- README Template --> | ||
<!-- https://github.com/othneildrew/Best-README-Template --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
<Window x:Class="extract_xiso_gui.Create" | ||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | ||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | ||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" | ||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" | ||
xmlns:local="clr-namespace:extract_xiso_gui" | ||
mc:Ignorable="d" | ||
WindowStartupLocation="CenterScreen" | ||
ResizeMode="CanMinimize" | ||
Background="White" | ||
AllowsTransparency="False" | ||
Title="extract-xiso-gui" Height="400" Width="550"> | ||
<Grid> | ||
<TextBlock Text="extract-xiso-gui" Foreground="Black" FontFamily="/Fonts/Roboto/#Roboto" FontWeight="Regular" FontSize="24" Height="32" VerticalAlignment="Top" HorizontalAlignment="Center" Margin="0,35,0,0"/> | ||
|
||
<StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,0"> | ||
<TextBlock Text="Folder" FontFamily="/Fonts/Roboto/#Roboto" FontWeight="Light" FontSize="18"/> | ||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,0"> | ||
<TextBox Name="FolderPath" Text="" HorizontalScrollBarVisibility="Visible" IsReadOnly="True" FontFamily="/Fonts/Roboto/#Roboto" FontWeight="Light" FontSize="18" TextWrapping="NoWrap" Width="200" Height="50" BorderThickness="2" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,0"/> | ||
<Button Name="fBrowseBTN" Content="Browse" Click="fBrowseBTN_Click" FontFamily="/Fonts/Roboto/#Roboto" FontWeight="Regular" FontSize="22" Width="100" Height="50" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="20,0,0,0"/> | ||
</StackPanel> | ||
<TextBlock Text="ISO" FontFamily="/Fonts/Roboto/#Roboto" FontWeight="Light" FontSize="18" Margin="0,20,0,0"/> | ||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,0"> | ||
<TextBox Name="ISOPath" Text="" HorizontalScrollBarVisibility="Visible" IsReadOnly="True" FontFamily="/Fonts/Roboto/#Roboto" FontWeight="Light" FontSize="18" TextWrapping="NoWrap" Width="200" Height="50" BorderThickness="2" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,0"/> | ||
<Button Name="iBrowseBTN" Content="Browse" Click="iBrowseBTN_Click" FontFamily="/Fonts/Roboto/#Roboto" FontWeight="Regular" FontSize="22" Width="100" Height="50" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="20,0,0,0"/> | ||
</StackPanel> | ||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,20,0,0"> | ||
<Button Name="GoBTN" Content="Go!" Click="GoBTN_Click" FontFamily="/Fonts/Roboto/#Roboto" FontWeight="Bold" FontSize="22" Width="100" Height="50" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,0"/> | ||
</StackPanel> | ||
</StackPanel> | ||
|
||
<Button Name="goBack" Content="Go Back" Click="goBack_Click" FontFamily="/Fonts/Roboto/#Roboto" FontWeight="Light" FontSize="14" Width="100" Height="30" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,0,0,30"/> | ||
</Grid> | ||
</Window> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
using System; | ||
using System.Diagnostics; | ||
using System.IO; | ||
using System.Windows; | ||
using WinForms = System.Windows.Forms; | ||
|
||
namespace extract_xiso_gui | ||
{ | ||
public partial class Create : Window | ||
{ | ||
string rootPath; | ||
string tempPath; | ||
string xisoTemp; | ||
string xisoBat; | ||
string extractXISO; | ||
|
||
string xisoFolder; | ||
string createdISO; | ||
|
||
string mainCMD; | ||
|
||
public Create() | ||
{ | ||
rootPath = Directory.GetCurrentDirectory(); | ||
tempPath = Path.GetTempPath(); | ||
xisoTemp = Path.Combine(tempPath, "extract-xiso-gui"); | ||
xisoBat = Path.Combine(xisoTemp, "extract-xiso-gui.bat"); | ||
extractXISO = Path.Combine(rootPath, "extract-xiso.exe"); | ||
|
||
InitializeComponent(); | ||
|
||
if (!File.Exists(extractXISO)) | ||
{ | ||
MessageBoxResult dlXISO = MessageBox.Show("extract-xiso has not been found.\n\nWould you like to download it?", "extract-xiso not found", MessageBoxButton.YesNo, MessageBoxImage.Question); | ||
if (dlXISO == MessageBoxResult.Yes) | ||
{ | ||
System.Windows.Forms.Application.Restart(); | ||
Application.Current.Shutdown(); | ||
} | ||
if (dlXISO == MessageBoxResult.No) | ||
{ | ||
MessageBox.Show("extract-xiso is required for extract-xiso-gui to run.\n\nReinstalling extract-xiso-gui may fix the issue.", "extract-xiso not found", MessageBoxButton.OK, MessageBoxImage.Warning); | ||
Application.Current.Shutdown(); | ||
} | ||
} | ||
} | ||
|
||
|
||
|
||
private void fBrowseBTN_Click(object sender, RoutedEventArgs e) | ||
{ | ||
WinForms.FolderBrowserDialog folderDLG = new WinForms.FolderBrowserDialog(); | ||
folderDLG.SelectedPath = System.AppDomain.CurrentDomain.BaseDirectory; | ||
folderDLG.ShowNewFolderButton = false; | ||
WinForms.DialogResult folderResult = folderDLG.ShowDialog(); | ||
if (folderResult == WinForms.DialogResult.OK) | ||
{ | ||
xisoFolder = folderDLG.SelectedPath; | ||
FolderPath.Text = Path.Combine(xisoFolder); | ||
} | ||
} | ||
|
||
private void iBrowseBTN_Click(object sender, RoutedEventArgs e) | ||
{ | ||
Microsoft.Win32.SaveFileDialog isoDLG = new Microsoft.Win32.SaveFileDialog(); | ||
isoDLG.FileName = "MyXISO"; | ||
isoDLG.DefaultExt = ".iso"; | ||
isoDLG.Filter = "Disc Images|*.iso"; | ||
Nullable<bool> isoResult = isoDLG.ShowDialog(); | ||
if (isoResult == true) | ||
{ | ||
createdISO = isoDLG.FileName; | ||
ISOPath.Text = isoDLG.FileName; | ||
} | ||
} | ||
|
||
private void GoBTN_Click(object sender, RoutedEventArgs e) | ||
{ | ||
if (File.Exists(createdISO)) | ||
{ | ||
MessageBoxResult isoExists = MessageBox.Show($"{createdISO} already exists.\n\nWould you like to overwrite it?", "ISO Exists", MessageBoxButton.YesNo, MessageBoxImage.Question); | ||
if (isoExists == MessageBoxResult.Yes) | ||
{ | ||
try { File.Delete(createdISO); } | ||
catch (Exception ex) { MessageBox.Show($"{ex}", "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } | ||
} | ||
else { return; } | ||
} | ||
|
||
mainCMD = $"\"{extractXISO}\" -c \"{xisoFolder}\" \"{createdISO}\""; | ||
|
||
string[] finalCMD ={ | ||
"@echo off", | ||
"title extract-xiso", | ||
$"{mainCMD}", | ||
"pause", | ||
"exit" | ||
}; | ||
|
||
File.WriteAllLines(xisoBat, finalCMD); | ||
Process.Start(xisoBat); | ||
MessageBoxResult openExtracted = MessageBox.Show("Would you like to open your output directory?", "", MessageBoxButton.YesNo, MessageBoxImage.Information); | ||
if (openExtracted == MessageBoxResult.Yes) { Process.Start(Path.GetDirectoryName(createdISO)); } | ||
return; | ||
} | ||
|
||
private void goBack_Click(object sender, RoutedEventArgs e) | ||
{ | ||
MainWindow mWindow = new MainWindow(); | ||
this.Close(); | ||
mWindow.Show(); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
1.0.4 | ||
1.1.0 |