Added Packager

This commit is contained in:
Birunthan Mohanathas 2012-06-16 21:56:46 +03:00
parent 8e74c779a9
commit 3bc9bffbf0
10 changed files with 1550 additions and 43 deletions

View File

@ -17,13 +17,21 @@
*/
#include "StdAfx.h"
#include "DialogBackup.h"
#include "DialogPackage.h"
#include "DialogInstall.h"
#include "resource.h"
#include "Application.h"
GlobalData g_Data;
OsNameVersion g_OsNameVersions[] =
{
{ L"XP", L"5.1" },
{ L"Vista", L"6.0" },
{ L"7", L"6.1" },
// { L"8", L"6.2" }
};
/*
** Entry point
**
@ -90,14 +98,14 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLi
else
{
std::wstring error = L"SkinPath not found.\nMake sure that Rainmeter has been run at least once.";
MessageBox(NULL, error.c_str(), L"Backup Rainmeter", MB_ERROR);
MessageBox(NULL, error.c_str(), L"Rainmeter Skin Installer", MB_ERROR);
return 1;
}
}
else
{
std::wstring error = L"Rainmeter.ini not found.\nMake sure that Rainmeter has been run at least once.";
MessageBox(NULL, error.c_str(), L"Backup Rainmeter", MB_ERROR);
MessageBox(NULL, error.c_str(), L"Rainmeter Skin Installer", MB_ERROR);
return 1;
}
}
@ -107,7 +115,7 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLi
// Skip "/LoadTheme "
lpCmdLine += 11;
if (CloseRainmeterIfActive() && *lpCmdLine)
if (*lpCmdLine && CloseRainmeterIfActive())
{
CDialogInstall::LoadTheme(lpCmdLine, true);
@ -123,9 +131,9 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLi
return 0;
}
else if (wcscmp(lpCmdLine, L"/BACKUP") == 0)
else if (wcscmp(lpCmdLine, L"/Packager") == 0)
{
CDialogBackup::Create(hInstance, lpCmdLine);
CDialogPackage::Create(hInstance, lpCmdLine);
}
else
{

View File

@ -40,6 +40,12 @@ struct GlobalData
std::wstring iniFile;
};
struct OsNameVersion
{
const WCHAR* name;
const WCHAR* version;
};
enum OSPLATFORM
{
OSPLATFORM_UNKNOWN = 0,

View File

@ -41,7 +41,7 @@ protected:
virtual CTab& GetActiveTab();
private:
friend class CDialogBackup;
friend class CDialogPackage;
class CTabInstall : public CTab
{

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,123 @@
/*
Copyright (C) 2011 Birunthan Mohanathas
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef SKININSTALLER_DIALOGBACKUP_H_
#define SKININSTALLER_DIALOGBACKUP_H_
#include <string>
#include "zip.h"
#include "../Library/Dialog.h"
class CDialogPackage : public CDialog
{
public:
static void Create(HINSTANCE hInstance, LPWSTR lpCmdLine);
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
INT_PTR OnInitDialog(WPARAM wParam, LPARAM lParam);
INT_PTR OnCommand(WPARAM wParam, LPARAM lParam);
INT_PTR OnNotify(WPARAM wParam, LPARAM lParam);
static CDialogPackage* c_Dialog;
protected:
virtual CTab& GetActiveTab();
private:
class CTabInfo : public CTab
{
public:
CTabInfo(HWND window);
virtual void Initialize();
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
INT_PTR OnCommand(WPARAM wParam, LPARAM lParam);
INT_PTR OnNotify(WPARAM wParam, LPARAM lParam);
};
class CTabOptions : public CTab
{
public:
CTabOptions(HWND window);
virtual void Initialize();
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
INT_PTR OnCommand(WPARAM wParam, LPARAM lParam);
};
class CTabAdvanced : public CTab
{
public:
CTabAdvanced(HWND window);
virtual void Initialize();
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
INT_PTR OnCommand(WPARAM wParam, LPARAM lParam);
};
CDialogPackage(HWND wnd);
virtual ~CDialogPackage();
void SetNextButtonState();
bool CreatePackage();
static unsigned __stdcall PackagerThreadProc(void* pParam);
bool AddFileToPackage(const char* realPath, const char* zipPath);
bool AddFolderToPackage(const std::wstring& path, std::wstring base, const char* zipPrefix, bool recursive);
static std::wstring SelectFolder(HWND parent, const std::wstring& existingPath);
static INT_PTR CALLBACK SelectFolderDlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
static std::pair<std::wstring, std::wstring> SelectPlugin(HWND parent);
static INT_PTR CALLBACK SelectPluginDlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
CTabInfo m_TabInfo;
CTabOptions m_TabOptions;
CTabAdvanced m_TabAdvanced;
std::wstring m_BackupTime;
// Info tab
std::wstring m_Name;
std::wstring m_Author;
std::wstring m_Version;
std::pair<std::wstring, std::wstring> m_SkinFolder;
std::map<std::wstring, std::wstring> m_ThemeFolders;
std::map<std::wstring, std::pair<std::wstring, std::wstring>> m_PluginFolders;
// Options tab
std::wstring m_TargetFile;
std::wstring m_MinimumRainmeter;
std::wstring m_MinimumWindows;
bool m_LoadTheme;
std::wstring m_Load;
// Advanced tab
std::wstring m_HeaderFile;
std::wstring m_VariableFiles;
bool m_MergeSkins;
HANDLE m_PackagerThread;
zipFile m_ZipFile;
};
#endif

View File

@ -11,7 +11,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 4,0,0,0
FILEVERSION FILEVER
PRODUCTVERSION PRODUCTVER
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
@ -28,7 +28,7 @@ VS_VERSION_INFO VERSIONINFO
BLOCK "040904E4"
{
VALUE "FileDescription", "Rainmeter Skin Installer"
VALUE "FileVersion", "4.0.0.0"
VALUE "FileVersion", STRFILEVER
VALUE "LegalCopyright", "© 2012 - Birunthan Mohanathas"
VALUE "OriginalFilename", "SkinInstaller.exe"
VALUE "ProductName", "Rainmeter"
@ -66,26 +66,103 @@ IDR_INSTALL_MENU MENU
// Dialog
//
IDD_BACKUP_DIALOG DIALOGEX 0, 0, 280, 120
IDD_PACKAGE_DIALOG DIALOGEX 0, 0, 320, 290
STYLE DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Backup Rainmeter"
CAPTION "Rainmeter Packager"
FONT 8, "MS Shell Dlg 2"
{
CONTROL "", IDC_BACKUP_TAB, "SysTabControl32", TCS_TABS | TCS_FIXEDWIDTH, 6, 6, 268, 91
DEFPUSHBUTTON "Start backup", IDC_BACKUP_BACKUP_BUTTON, 149, 101, 70, 14
PUSHBUTTON "Close", IDCLOSE, 224, 101, 50, 14
CONTROL "", IDC_PACKAGE_TAB, "SysTabControl32", TCS_TABS | TCS_FIXEDWIDTH, 6, 6, 308, 261
DEFPUSHBUTTON "Next", IDC_PACKAGE_NEXT_BUTTON, 208, 271, 50, 14, WS_DISABLED
PUSHBUTTON "Create package", IDC_PACKAGE_CREATEPACKAGE_BUTTON, 178, 271, 80, 14, NOT WS_VISIBLE
PUSHBUTTON "Close", IDCLOSE, 263, 271, 50, 14
}
IDD_BACKUP_TABDIALOG DIALOGEX 15, 30, 250, 58
IDD_PACKAGEINFO_TAB DIALOGEX 15, 15, 290, 242
STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS
FONT 8, "MS Shell Dlg 2"
{
LTEXT "A backup allows you to save a complete copy of your current Rainmeter skins and themes.\n\nThe backup will be created at:", IDC_BACKUP_DESCRIPTION_TEXT, 0, 0, 245, 39
EDITTEXT IDC_BACKUP_FILE_TEXT, 0, 42, 220, 14, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL | ES_READONLY
PUSHBUTTON "...", IDC_BACKUP_BROWSE_BUTTON, 225, 42, 25, 14, WS_TABSTOP
CONTROL "Fill in the information, add a skin, and click Next to continue.\n\nFor information about .rmskin packages, check the <A>manual</A>.", IDC_STATIC, "SysLink", 0x0, 0, 0, 284, 39
LTEXT "Backup in progress...", IDC_BACKUP_INPROGRESS_TEXT, 0, 0, 245, 39, NOT WS_VISIBLE
CONTROL "", IDC_BACKUP_PROGRESS, "msctls_progress32", PBS_MARQUEE | NOT WS_VISIBLE | WS_BORDER, 0, 15, 250, 11
GROUPBOX "Information", IDC_STATIC, 0, 40, 290, 70
LTEXT "Name:", IDC_STATIC, 6, 56, 35, 9
EDITTEXT IDC_PACKAGEINFO_NAME_EDIT, 56, 53, 160, 14
LTEXT "Author:", IDC_STATIC, 6, 74, 35, 9
EDITTEXT IDC_PACKAGEINFO_AUTHOR_EDIT, 56, 71, 160, 14
LTEXT "Version:", IDC_STATIC, 6, 92, 35, 9
EDITTEXT IDC_PACKAGEINFO_VERSION_EDIT, 56, 89, 80, 14
GROUPBOX "Components", IDC_STATIC, 0, 115, 290, 127
CONTROL "", IDC_PACKAGEINFO_COMPONENTS_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 6, 130, 278, 86
PUSHBUTTON "Add skin...", IDC_PACKAGEINFO_ADDSKIN_BUTTON, 6, 220, 70, 14
PUSHBUTTON "Add theme...", IDC_PACKAGEINFO_ADDTHEME_BUTTON, 81, 220, 70, 14
PUSHBUTTON "Add plugin...", IDC_PACKAGEINFO_ADDPLUGIN_BUTTON, 156, 220, 70, 14
}
IDD_PACKAGEOPTIONS_TAB DIALOGEX 15, 30, 290, 227
STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS
FONT 8, "MS Shell Dlg 2"
{
CONTROL "Select the install options below. For information about the options, check the <A>manual</A>.", IDC_STATIC, "SysLink", 0x0, 0, 0, 284, 29
LTEXT "Save package to:", IDC_STATIC, 0, 30, 290, 9
EDITTEXT IDC_PACKAGEOPTIONS_FILE_EDIT, 0, 47, 260, 14, ES_READONLY | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
PUSHBUTTON "...", IDC_PACKAGEOPTIONS_FILEBROWSE_BUTTON, 265, 47, 25, 14, WS_TABSTOP
GROUPBOX "After installation", IDC_STATIC, 0, 111, 290, 58
AUTORADIOBUTTON "Do nothing", IDC_PACKAGEOPTIONS_DONOTHING_RADIO, 6, 126, 85, 9, WS_TABSTOP
AUTORADIOBUTTON "Load skin", IDC_PACKAGEOPTIONS_LOADSKIN_RADIO, 6, 139, 85, 9, WS_TABSTOP
EDITTEXT IDC_PACKAGEOPTIONS_LOADSKIN_EDIT, 96, 136, 159, 14, ES_READONLY | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | NOT WS_VISIBLE
PUSHBUTTON "...", IDC_PACKAGEOPTIONS_LOADSKINBROWSE_BUTTON, 260, 136, 25, 14, WS_TABSTOP | NOT WS_VISIBLE
AUTORADIOBUTTON "Load theme", IDC_PACKAGEOPTIONS_LOADTHEME_RADIO, 6, 152, 85, 9, WS_TABSTOP
COMBOBOX IDC_PACKAGEOPTIONS_LOADTHEME_COMBO, 96, 149, 100, 14, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | NOT WS_VISIBLE
GROUPBOX "Minimum requirements", IDC_STATIC, 0, 174, 290, 53
LTEXT "Rainmeter version:", IDC_STATIC, 6, 190, 85, 9
EDITTEXT IDC_PACKAGEOPTIONS_RAINMETERVERSION_EDIT, 96, 187, 80, 14
LTEXT "Windows version:", IDC_STATIC, 6, 208, 85, 9
COMBOBOX IDC_PACKAGEOPTIONS_WINDOWSVERSION_COMBO, 96, 205, 80, 14, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
}
IDD_PACKAGEADVANCED_TAB DIALOGEX 15, 30, 290, 227
STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS
FONT 8, "MS Shell Dlg 2"
{
LTEXT "Header image:", IDC_STATIC, 0, 3, 85, 9
EDITTEXT IDC_PACKAGEADVANCED_HEADER_EDIT, 90, 0, 170, 14, ES_READONLY | ES_AUTOHSCROLL | WS_TABSTOP
PUSHBUTTON "...", IDC_PACKAGEADVANCED_HEADERROWSE_BUTTON, 265, 0, 25, 14, WS_TABSTOP
LTEXT "Variable files:", IDC_STATIC, 0, 23, 85, 9
EDITTEXT IDC_PACKAGEADVANCED_VARIABLEFILES_EDIT, 90, 20, 200, 14, ES_AUTOHSCROLL | WS_TABSTOP
AUTOCHECKBOX "Merge skins", IDC_PACKAGEADVANCED_MERGESKINS_CHECK, 0, 40, 85, 9, WS_TABSTOP
}
IDD_PACKAGESELECTFOLDER_DIALOG DIALOGEX 0, 0, 200, 100
STYLE DS_CENTER | WS_POPUP | WS_TILEDWINDOW
EXSTYLE WS_EX_TOOLWINDOW
CAPTION "Add"
FONT 8, "MS Shell Dlg 2"
{
AUTORADIOBUTTON "", IDC_PACKAGESELECTFOLDER_EXISTING_RADIO, 6, 6, 220, 9, WS_TABSTOP | BST_CHECKED
COMBOBOX IDC_PACKAGESELECTFOLDER_EXISTING_COMBO, 16, 19, 177, 14, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
AUTORADIOBUTTON "Add custom folder:", IDC_PACKAGESELECTFOLDER_CUSTOM_RADIO, 6, 40, 220, 9, WS_TABSTOP
EDITTEXT IDC_PACKAGESELECTFOLDER_CUSTOM_EDIT, 16, 53, 149, 14, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL | WS_DISABLED
PUSHBUTTON "...", IDC_PACKAGESELECTFOLDER_CUSTOMBROWSE_BUTTON, 170, 53, 25, 14, WS_TABSTOP | WS_DISABLED
DEFPUSHBUTTON "Add", IDCLOSE, 144, 82, 50, 14
}
IDD_PACKAGESELECTPLUGIN_DIALOG DIALOGEX 0, 0, 200, 100
STYLE DS_CENTER | WS_POPUP | WS_TILEDWINDOW
EXSTYLE WS_EX_TOOLWINDOW
CAPTION "Add"
FONT 8, "MS Shell Dlg 2"
{
LTEXT "32-bit DLL:", IDC_STATIC, 6, 6, 220, 9
EDITTEXT IDC_PACKAGESELECTPLUGIN_32BIT_EDIT, 16, 19, 149, 14, ES_READONLY | WS_BORDER
PUSHBUTTON "...", IDC_PACKAGESELECTPLUGIN_32BITBROWSE_BUTTON, 170, 19, 25, 14, WS_TABSTOP
LTEXT "64-bit DLL:", IDC_STATIC, 6, 40, 220, 9
EDITTEXT IDC_PACKAGESELECTPLUGIN_64BIT_EDIT, 16, 53, 149, 14, ES_READONLY | WS_BORDER
PUSHBUTTON "...", IDC_PACKAGESELECTPLUGIN_64BITBROWSE_BUTTON, 170, 53, 25, 14, WS_TABSTOP
DEFPUSHBUTTON "Add", IDCLOSE, 144, 82, 50, 14, WS_DISABLED
}
IDD_INSTALL_DIALOG DIALOGEX 0, 0, 266, 250

View File

@ -91,7 +91,7 @@
<SubSystem>Windows</SubSystem>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalDependencies>Rainmeter.lib;Wininet.lib;Comctl32.lib;Version.lib;UxTheme.lib;shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>Rainmeter.lib;Imagehlp.lib;Wininet.lib;Comctl32.lib;Version.lib;UxTheme.lib;shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\Library\x32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<EntryPointSymbol>wWinMainCRTStartup</EntryPointSymbol>
<MergeSections>.rdata=.text</MergeSections>
@ -126,7 +126,7 @@
<OutputFile>..\TestBench\x64\$(Configuration)\SkinInstaller.exe</OutputFile>
<SubSystem>Windows</SubSystem>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<AdditionalDependencies>Rainmeter.lib;Wininet.lib;Comctl32.lib;Version.lib;UxTheme.lib;shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>Rainmeter.lib;Imagehlp.lib;Wininet.lib;Comctl32.lib;Version.lib;UxTheme.lib;shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\Library\x64\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<EntryPointSymbol>wWinMainCRTStartup</EntryPointSymbol>
<MergeSections>.rdata=.text</MergeSections>
@ -166,7 +166,7 @@
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<TargetMachine>MachineX86</TargetMachine>
<EntryPointSymbol>wWinMainCRTStartup</EntryPointSymbol>
<AdditionalDependencies>Rainmeter.lib;Wininet.lib;Comctl32.lib;Version.lib;UxTheme.lib;shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>Rainmeter.lib;Imagehlp.lib;Wininet.lib;Comctl32.lib;Version.lib;UxTheme.lib;shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\Library\x32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
</Link>
@ -198,7 +198,7 @@
<SubSystem>Windows</SubSystem>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<EntryPointSymbol>wWinMainCRTStartup</EntryPointSymbol>
<AdditionalDependencies>Rainmeter.lib;Wininet.lib;Comctl32.lib;Version.lib;UxTheme.lib;shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>Rainmeter.lib;Imagehlp.lib;Wininet.lib;Comctl32.lib;Version.lib;UxTheme.lib;shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\Library\x64\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
</Link>
@ -209,8 +209,8 @@
<ItemGroup>
<ClCompile Include="..\Library\Dialog.cpp" />
<ClCompile Include="Application.cpp" />
<ClCompile Include="DialogBackup.cpp" />
<ClCompile Include="DialogInstall.cpp" />
<ClCompile Include="DialogPackage.cpp" />
<ClCompile Include="StdAfx.cpp" />
<ClCompile Include="zlib\adler32.c" />
<ClCompile Include="zlib\crc32.c" />
@ -245,8 +245,8 @@
<ItemGroup>
<ClInclude Include="..\Library\Dialog.h" />
<ClInclude Include="Application.h" />
<ClInclude Include="DialogBackup.h" />
<ClInclude Include="DialogInstall.h" />
<ClInclude Include="DialogPackage.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="StdAfx.h" />
<ClInclude Include="..\Library\pcre-8.10\config.h" />

View File

@ -27,9 +27,6 @@
<ClCompile Include="Application.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="DialogBackup.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="StdAfx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@ -87,6 +84,9 @@
<ClCompile Include="..\Library\pcre-8.10\pcre_globals.c">
<Filter>pcre</Filter>
</ClCompile>
<ClCompile Include="DialogPackage.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h">
@ -95,9 +95,6 @@
<ClInclude Include="Application.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="DialogBackup.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="StdAfx.h">
<Filter>Header Files</Filter>
</ClInclude>
@ -155,6 +152,9 @@
<ClInclude Include="..\Library\pcre-8.10\config.h">
<Filter>pcre</Filter>
</ClInclude>
<ClInclude Include="DialogPackage.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="Res\SkinInstaller.ico">

View File

@ -24,6 +24,7 @@
#include <Windows.h>
#include <Windowsx.h>
#include <Commdlg.h>
#include <Imagehlp.h>
#include <Lmcons.h>
#include <Shlobj.h>
#include <Shlwapi.h>
@ -36,6 +37,7 @@
#include <vector>
#include <list>
#include <set>
#include <map>
#include <vector>
#include <ctime>
#include <cstdlib>

View File

@ -3,17 +3,13 @@
#define IDB_INSTALLHEADER 101
#define IDD_INSTALL_DIALOG 102
#define IDD_INSTALL_TAB 103
#define IDD_BACKUP_DIALOG 104
#define IDD_BACKUP_TABDIALOG 105
#define IDR_INSTALL_MENU 106
#define IDC_BACKUP_TAB 1019
#define IDC_BACKUP_FILE_TEXT 1020
#define IDC_BACKUP_BROWSE_BUTTON 1021
#define IDC_BACKUP_PROGRESS 1022
#define IDC_BACKUP_BACKUP_BUTTON 1023
#define IDC_BACKUP_DESCRIPTION_TEXT 1024
#define IDC_BACKUP_INPROGRESS_TEXT 1025
#define IDR_INSTALL_MENU 104
#define IDD_PACKAGE_DIALOG 105
#define IDD_PACKAGEINFO_TAB 106
#define IDD_PACKAGEOPTIONS_TAB 107
#define IDD_PACKAGEADVANCED_TAB 108
#define IDD_PACKAGESELECTFOLDER_DIALOG 109
#define IDD_PACKAGESELECTPLUGIN_DIALOG 110
#define IDC_INSTALL_TAB 1000
#define IDC_INSTALL_HEADER_BITMAP 1001
@ -28,6 +24,45 @@
#define IDC_INSTALLTAB_INPROGRESS_TEXT 1005
#define IDC_INSTALLTAB_PROGRESS 1006
#define IDC_PACKAGE_TAB 1000
#define IDC_PACKAGE_NEXT_BUTTON 1001
#define IDC_PACKAGE_CREATEPACKAGE_BUTTON 1002
#define IDC_PACKAGEINFO_NAME_EDIT 1000
#define IDC_PACKAGEINFO_AUTHOR_EDIT 1001
#define IDC_PACKAGEINFO_VERSION_EDIT 1002
#define IDC_PACKAGEINFO_COMPONENTS_LIST 1003
#define IDC_PACKAGEINFO_ADDSKIN_BUTTON 1004
#define IDC_PACKAGEINFO_ADDTHEME_BUTTON 1005
#define IDC_PACKAGEINFO_ADDPLUGIN_BUTTON 1006
#define IDC_PACKAGEOPTIONS_FILE_EDIT 1000
#define IDC_PACKAGEOPTIONS_FILEBROWSE_BUTTON 1001
#define IDC_PACKAGEOPTIONS_DONOTHING_RADIO 1002
#define IDC_PACKAGEOPTIONS_LOADSKIN_RADIO 1003
#define IDC_PACKAGEOPTIONS_LOADSKIN_EDIT 1004
#define IDC_PACKAGEOPTIONS_LOADSKINBROWSE_BUTTON 1005
#define IDC_PACKAGEOPTIONS_LOADTHEME_RADIO 1006
#define IDC_PACKAGEOPTIONS_LOADTHEME_COMBO 1007
#define IDC_PACKAGEOPTIONS_RAINMETERVERSION_EDIT 1008
#define IDC_PACKAGEOPTIONS_WINDOWSVERSION_COMBO 1009
#define IDC_PACKAGEADVANCED_HEADER_EDIT 1000
#define IDC_PACKAGEADVANCED_HEADERROWSE_BUTTON 1001
#define IDC_PACKAGEADVANCED_VARIABLEFILES_EDIT 1002
#define IDC_PACKAGEADVANCED_MERGESKINS_CHECK 1003
#define IDC_PACKAGESELECTFOLDER_EXISTING_RADIO 1000
#define IDC_PACKAGESELECTFOLDER_EXISTING_COMBO 1001
#define IDC_PACKAGESELECTFOLDER_CUSTOM_RADIO 1002
#define IDC_PACKAGESELECTFOLDER_CUSTOM_EDIT 1003
#define IDC_PACKAGESELECTFOLDER_CUSTOMBROWSE_BUTTON 1004
#define IDC_PACKAGESELECTPLUGIN_32BIT_EDIT 1000
#define IDC_PACKAGESELECTPLUGIN_32BITBROWSE_BUTTON 1001
#define IDC_PACKAGESELECTPLUGIN_64BIT_EDIT 1002
#define IDC_PACKAGESELECTPLUGIN_64BITBROWSE_BUTTON 1003
#define IDM_INSTALL_BACKUPSKINS 4200
#define IDM_INSTALL_SYSTEMFONTS 4201
#define IDM_INSTALL_FORMAT 4202