66; 程序名称
77#define MyAppName " Metasweeper"
88; 程序版本
9- #define MyAppVersion " 3.2.0 "
9+ #define MyAppVersion " 3.2.1 "
1010; 发行商
1111#define MyAppPublisher " eee555"
1212; 官网
1818; 根目录
1919#define RootPath " Metaminesweeper-snapshot"
2020; 图标
21- #define IconPath " media\cat.ico"
21+ #define IconPath " metaminesweeper\ media\cat.ico"
2222[Setup]
2323;注意:AppId 的值唯一标识此应用程序。不要在其他应用程序的安装程序中使用相同的 AppId 值。
2424;(要生成新的 GUID,请单击 Tools |在 IDE 中生成 GUID
@@ -53,7 +53,7 @@ UninstallDisplayIcon={app}\{#IconPath}
5353[Languages]
5454Name : " english" ; MessagesFile : " compiler:Default.isl"
5555; 中文语言包,需要下载对应的中文.isl文件放到InnoSetup目录下的languages目录下
56- Name : " chinese" ; MessagesFile : " compiler:Languages\Chinese .isl"
56+ Name : " chinese" ; MessagesFile : " compiler:Languages\ChineseSimplified .isl"
5757
5858[Tasks]
5959Name : " desktopicon" ; Description : " {cm:CreateDesktopIcon}" ; GroupDescription: " {cm:AdditionalIcons}" ; Flags : checkablealone
@@ -72,7 +72,7 @@ Filename: "{app}\{#AppPath}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#
7272[Code]
7373var
7474 Page: TWizardPage;
75- AVFCheckbox, EVFCheckbox, RMVCheckbox, MVFCheckbox: TNewCheckbox;
75+ AVFCheckbox, EVFCheckbox, RMVCheckbox, MVFCheckbox, EVFSCheckbox : TNewCheckbox;
7676procedure FileAssociationPage ;
7777begin
7878 Page := CreateCustomPage(wpSelectDir, ' 文件打开方式' , ' 勾选对应的文件类型,以添加对应文件类型使用{#MyAppName}的打开方式,然后点击“下一步”按钮。' );
@@ -108,13 +108,21 @@ begin
108108 MVFCheckbox.Caption := ' .mvf' ;
109109 MVFCheckbox.Checked := False;
110110 MVFCheckbox.Parent := Page.Surface;
111+
112+ EVFSCheckbox := TNewCheckbox.Create(Page);
113+ EVFSCheckbox.Top := 80 ;
114+ EVFSCheckbox.Left := 0 ;
115+ EVFSCheckbox.Width := Page.SurfaceWidth;
116+ EVFSCheckbox.Caption := ' .evfs' ;
117+ EVFSCheckbox.Checked := False;
118+ EVFSCheckbox.Parent := Page.Surface;
111119end ;
112120
113121procedure CurStepChanged (CurStep: TSetupStep);
114122begin
115123 if CurStep = ssPostInstall then
116124 begin
117- if not (AVFCheckbox.Checked or EVFCheckbox.Checked or RMVCheckbox.Checked or MVFCheckbox.Checked) then
125+ if not (AVFCheckbox.Checked or EVFCheckbox.Checked or RMVCheckbox.Checked or MVFCheckbox.Checked or EVFSCheckbox.Checked ) then
118126 begin
119127 RegDeleteKeyIncludingSubkeys(HKEY_LOCAL_MACHINE, ' SOFTWARE\Classes\Applications\{#MyAppExeName}' );
120128 end ;
@@ -190,6 +198,24 @@ begin
190198 RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, ' {#MyAppName}.mvf\DefaultIcon' );
191199 RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, ' {#MyAppName}.mvf' );
192200 end ;
201+
202+ if EVFSCheckbox.Checked then
203+ begin
204+ RegWriteStringValue(HKEY_LOCAL_MACHINE, ' SOFTWARE\Classes\Applications\{#MyAppExeName}' , ' ' ,' {#MyAppName}' );
205+ RegWriteStringValue(HKEY_LOCAL_MACHINE, ' SOFTWARE\Classes\Applications\{#MyAppExeName}' , ' FriendlyAppName' , ' {#MyAppName}' );
206+ RegWriteStringValue(HKEY_CLASSES_ROOT, ' .evfs\OpenWithProgids' , ' ' , ' {#MyAppName}.evfs' );
207+ RegWriteStringValue(HKEY_CLASSES_ROOT, ' .evfs' , ' ' ,' {#MyAppName}.evfs' );
208+ RegWriteStringValue(HKEY_CLASSES_ROOT, ' {#MyAppName}.evfs\DefaultIcon' , ' ' , ExpandConstant(' {app}\media\EVF.ico,0' ));
209+ RegWriteStringValue(HKEY_CLASSES_ROOT, ' {#MyAppName}.evfs\shell\open\command' , ' ' , ExpandConstant(' "' + ExpandConstant(' {app}\{#AppPath}\{#MyAppExeName}' ) + ' " "%1"' ));
210+ end
211+ else
212+ begin
213+ RegDeleteValue(HKEY_CLASSES_ROOT, ' .evfs\OpenWithProgids' , ' ' );
214+ RegDeleteValue(HKEY_CLASSES_ROOT, ' .evfs' , ' ' );
215+ RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, ' {#MyAppName}.evfs\shell\open\command' );
216+ RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, ' {#MyAppName}.evfs\DefaultIcon' );
217+ RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, ' {#MyAppName}.evfs' );
218+ end ;
193219 end ;
194220end ;
195221procedure CurUninstallStepChanged (CurUninstallStep: TUninstallStep);
@@ -221,6 +247,13 @@ begin
221247 RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, ' {#MyAppName}.mvf\shell\open\command' );
222248 RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, ' {#MyAppName}.mvf\DefaultIcon' );
223249 RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, ' {#MyAppName}.mvf' );
250+
251+ RegDeleteValue(HKEY_CLASSES_ROOT, ' .evfs\OpenWithProgids' , ' ' );
252+ RegDeleteValue(HKEY_CLASSES_ROOT, ' .evfs' , ' ' );
253+ RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, ' {#MyAppName}.evfs\shell\open\command' );
254+ RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, ' {#MyAppName}.evfs\DefaultIcon' );
255+ RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, ' {#MyAppName}.evfs' );
256+
224257 end ;
225258end ;
226259procedure InitializeWizard ;
0 commit comments