Inno Setup 6、Advanced Installer、InstallMate


Inno Setup 6哪都好,就一個毛病,做好的安裝包不支持XP...

Advanced Installer Architect官方版本15.9以前版本支持XP,16.0以后的版本不再支持XP系統。

還是用InstallMate吧,貌似就這么一個好使的。

***********************************************

https://docs.microsoft.com/zh-cn/windows/win32/msi/installation-context

下表比較了Windows Installer在按計算機或按用戶安裝上下文中安裝軟件包時使用的文件夾的位置。

表3
每台計算機的安裝上下文(ALLUSERS = 1) 每用戶安裝上下文(ALLUSERS =“”)
DesktopFolder所有用戶的Desktop文件夾的完整路徑。
FOLDERID_PublicDesktop( CSIDL_COMMON_DESKTOPDIRECTORY)
DesktopFolder當前用戶的Desktop文件夾的完整路徑。
FOLDERID_Desktop( CSIDL_DESKTOP, CSIDL_DESKTOPDIRECTORY)
ProgramMenuFolder所有用戶的“程序菜單”文件夾的完整路徑。
FOLDERID_CommonPrograms( CSIDL_COMMON_PROGRAMS)
ProgramMenuFolder當前用戶的Program Menu文件夾的完整路徑。
FOLDERID_Programs( CSIDL_PROGRAMS)
StartMenuFolder所有用戶的“開始菜單”文件夾的完整路徑。
FOLDERID_CommonStartMenu( CSIDL_COMMON_STARTMENU)
StartMenuFolder當前用戶的Start Menu文件夾的完整路徑。
FOLDERID_StartMenu( CSIDL_STARTMENU)
StartUpFolder所有用戶的“啟動”文件夾的完整路徑。
FOLDERID_CommonStartup( CSIDL_COMMON_STARTUP)
StartUpFolder當前用戶的“啟動”文件夾的完整路徑。
FOLDERID_Startup( CSIDL_STARTUP)
TemplateFolder所有用戶的Templates文件夾的完整路徑。
FOLDERID_CommonTemplates( CSIDL_COMMON_TEMPLATES)
TemplateFolder當前用戶的Templates文件夾的完整路徑。
FOLDERID_Templates( CSIDL_TEMPLATES)
AdminToolsFolder所有用戶的Admin Tools文件夾的完整路徑。
FOLDERID_CommonAdminTools( CSIDL_COMMON_ADMINTOOLS)
AdminToolsFolder當前用戶的Admin Tools文件夾的完整路徑。
FOLDERID_AdminTools( CSIDL_ADMINTOOLS)
AppDataFolder程序菜單文件夾的完整路徑。
Windows Vista和更高版本:漫游文件夾的完整路徑。

FOLDERID_RoamingAppData( CSIDL_APPDATA)
AppDataFolder程序菜單文件夾的完整路徑。
Windows Vista和更高版本:漫游文件夾的完整路徑。

FOLDERID_RoamingAppData( CSIDL_APPDATA)
CommonAppDataFolder包含所有用戶的應用程序數據的文件夾的完整路徑。
FOLDERID_ProgramData( CSIDL_COMMON_APPDATA)
CommonAppDataFolder包含所有用戶的應用程序數據的文件夾的完整路徑。
FOLDERID_ProgramData( CSIDL_COMMON_APPDATA)
收藏夾文件夾當前用戶的“收藏夾”文件夾的完整路徑。
FOLDERID_Favorites( CSIDL_FAVORITES)
收藏夾文件夾當前用戶的“收藏夾”文件夾的完整路徑。
FOLDERID_Favorites( CSIDL_FAVORITES)
PersonalFolder當前用戶的“我的文檔”文件夾或“個人”文件夾的完整路徑。
Windows Vista和更高版本:當前用戶的Documents文件夾的完整路徑。

FOLDERID_Documents( CSIDL_PERSONAL)
PersonalFolder當前用戶的“我的文檔”文件夾或“個人”文件夾的完整路徑。
Windows Vista和更高版本:當前用戶的Documents文件夾的完整路徑。

FOLDERID_Documents( CSIDL_PERSONAL)
SendToFolder SendTo文件夾的完整路徑。
FOLDERID_SendTo( CSIDL_SENDTO)
SendToFolder SendTo文件夾的完整路徑。
FOLDERID_SendTo( CSIDL_SENDTO)
FontsFolder系統字體文件夾的完整路徑。
FOLDERID_Fonts( CSIDL_FONTS)
FontsFolder系統字體文件夾的完整路徑。
FOLDERID_Fonts( CSIDL_FONTS)
ProgramFilesFolder的Windows的32位版本:該屬性值是完整路徑到Program Files文件夾的所有用戶(例如,的%ProgramFiles%)。該文件夾的標識是 FOLDERID_ProgramFiles( CSIDL_PROGRAM_FILES)標識符 FOLDERID_ProgramFiles和 FOLDERID_ProgramFilesX86代表同一文件夾。所有用戶都可以訪問此文件夾中的文件。
Windows的64位版本:該屬性值是為所有用戶的程序文件(x86)文件夾(例如,的%ProgramFiles(x86)的%)。該文件夾的標識是完整路徑 FOLDERID_ProgramFilesX86( CSIDL_PROGRAM_FILESX86。)所有用戶都可以訪問此文件夾中的文件。
ProgramFilesFolder Windows Server 2008 R2和Windows 7:該屬性值為當前用戶的Programs文件夾的完整路徑(例如,%LocalAppData%\ Programs。)此文件夾的標識符為32位和64位的 FOLDERID_UserProgramFiles系統。FOLDERID_UserProgramFiles沒有等效的CSIDL標識符。該文件夾中的文件只能由安裝此文件夾的用戶訪問。
Windows Server 2008和更早版本以及Windows Vista和更早版本:沒有基於用戶的文件夾。該路徑與每台計算機的上下文相同(例如,%ProgramFiles%或%ProgramFiles(x86)%。)所有用戶都可以訪問此文件夾中的文件。

CommonFilesFolder的Windows的32位版本:該屬性值是完整路徑Common Files文件夾的所有用戶(例如,的%ProgramFiles%\ Common Files文件),該文件夾的標識是 FOLDERID_ProgramFilesCommon( CSIDL_PROGRAM_FILES_COMMON)標識符 FOLDERID_ProgramFilesCommon和 FOLDERID_ProgramFilesCommonX86代表相同的文件夾。所有用戶都可以訪問此文件夾中的文件。
Windows的64位版本:屬性值是所有用戶到Common Files文件夾的完整路徑(例如,%ProgramFiles(x86)%\ Common Files。)此文件夾的標識符為 FOLDERID_ProgramFilesCommonX86(CSIDL_PROGRAM_FILES_COMMONX86。)所有用戶都可以訪問此文件夾中的文件。
CommonFilesFolder Windows Server 2008 R2和Windows 7:該屬性值為當前用戶的Common文件夾的完整路徑(例如,%LocalAppData%\ Programs \ Common。)此文件夾的標識符為32位和64位上的 FOLDERID_UserProgramFilesCommon位系統。FOLDERID_UserProgramFilesCommon沒有等效的CSIDL標識符。該文件夾中的文件只能由安裝此文件夾的用戶訪問。
Windows Server 2008和更早版本以及Windows Vista和更早版本:沒有基於用戶的文件夾。該路徑與每台計算機的上下文相同(例如,%ProgramFiles%\ Common Files或%ProgramFiles(x86)%\ Common Files。)所有用戶都可以訪問此文件夾中的文件。

ProgramFiles64Folder屬性值是所有用戶到Program Files文件夾的完整路徑(例如,%ProgramFiles%。)此文件夾的標識符是 FOLDERID_ProgramFilesX64。沒有與 FOLDERID_ProgramFilesX64等效的CSIDL標識符。這是64位組件的預定義文件夾,適用於64位系統。所有用戶都可以訪問此文件夾中的文件。
ProgramFiles64Folder Windows Server 2008 R2和Windows 7:該屬性值為當前用戶的Programs文件夾的完整路徑(例如,%LocalAppData%\ Programs。)此文件夾的標識符為 FOLDERID_UserProgramFiles。FOLDERID_UserProgramFiles沒有等效的CSIDL標識符。該文件夾中的文件只能由安裝此文件夾的用戶訪問。
Windows Server 2008和更早版本以及Windows Vista和更早版本:沒有基於用戶的文件夾。該路徑與每台計算機的上下文相同(例如,%ProgramFiles%。)所有用戶都可以訪問此文件夾中的文件。

CommonFiles64Folder該屬性值是所有用戶的Common Files文件夾的完整路徑(例如,%ProgramFiles%\ Common Files。)這是64位組件的預定義文件夾,適用於64位系統。該文件夾的標識符是 FOLDERID_ProgramFilesCommonX64。沒有與 FOLDERID_ProgramFilesCommonX64等效的CSIDL標識符。所有用戶都可以訪問此文件夾中的文件。
CommonFiles64Folder Windows Server 2008 R2和Windows 7:該屬性值為當前用戶的Common文件夾的完整路徑(例如,%LocalAppData%\ Programs \ Common。)此文件夾的標識符為 FOLDERID_UserProgramFilesCommon。FOLDERID_UserProgramFilesCommon沒有等效的CSIDL標識符。該文件夾中的文件只能由安裝此文件夾的用戶訪問。
Windows Server 2008和更早版本以及Windows Vista和更早版本:沒有基於用戶的文件夾。該路徑與每台計算機的上下文相同(例如,%ProgramFiles%\ Common Files。),所有用戶均可訪問此文件夾中的文件。

WindowsFolder Windows文件夾的完整路徑。
FOLDERID_Windows( CSIDL_WINDOWS)
WindowsFolder Windows文件夾的完整路徑。
FOLDERID_Windows( CSIDL_WINDOWS)
SystemFolder系統文件夾的完整路徑。
FOLDERID_SystemX86( CSIDL_SYSTEMX86)
SystemFolder系統文件夾的完整路徑。
FOLDERID_SystemX86( CSIDL_SYSTEMX86)
LocalAppDataFolder包含本地(非漫游)應用程序的文件夾的完整路徑。
FOLDERID_LocalAppData( CSIDL_LOCAL_APPDATA)
LocalAppDataFolder包含本地(非漫游)應用程序的文件夾的完整路徑。
FOLDERID_LocalAppData( CSIDL_LOCAL_APPDATA)
MyPicturesFolder圖片或“我的圖片”文件夾的完整路徑。
FOLDERID_Pictures( CSIDL_MYPICTURES)
MyPicturesFolder圖片或“我的圖片”文件夾的完整路徑。
FOLDERID_Pictures( CSIDL_MYPICTURES)
PrintHoodFolder PrintHood文件夾的完整路徑。
FOLDERID_PrintHood( CSIDL_PRINTHOOD)
PrintHoodFolder PrintHood文件夾的完整路徑。
FOLDERID_PrintHood( CSIDL_PRINTHOOD)
NetHoodFolder NetHood文件夾的完整路徑。
FOLDERID_NetHood( CSIDL_NETHOOD)
NetHoodFolder NetHood文件夾的完整路徑。
FOLDERID_NetHood( CSIDL_NETHOOD)
LatestFolder最近文件夾的完整路徑。
FOLDERID_Recent( CSIDL_RECENT)
LatestFolder最近文件夾的完整路徑。
FOLDERID_Recent( CSIDL_RECENT)

 

 

***********************************************

Inno Setup 6引入了許多更改:

托管和非托管安裝模式

對管理安裝模式功能和非管理安裝模式功能進行了許多更改:

添加了新的“自動”常量,除非安裝程序在非管理安裝模式下運行,否則它們將自動映射為“普通”形式,在這種情況下,它們將映射為“用戶”形式。我們建議您盡可能地更新腳本以使用這些“自動”常量,以避免出現錯誤。添加的“自動”常量列表為:{autoappdata},{autocf},{autocf32},{autocf64},{autodesktop},{autodocs},{autopf},{autopf32},{autopf64},{autoprograms}, {autoprograms},{autostartmenu},{autostartup},

更新了所有示例和Compiler IDE的“新腳本向導”,以使用{autopf}代替{pf},等等。

默認行為的更改:如果安裝在非管理安裝模式下運行,則“公用” shell文件夾常量不再映射到其“用戶”形式。相反,他們只是返回請求的公共目錄。受影響的“公共”常量列表包括:{commonappdata},{commondesktop},{commondocs},{commonprograms},{commonstartmenu},{commonstartup}和{} commontemplates。

{{PF}和{}已重命名為{commonpf}和{} commoncf。其中包括{pf32}至{commonpf32}等。仍然支持舊名稱,但是建議將腳本更新為新名稱,否則編譯器將發出警告。

{} commonfavorites已被刪除:Windows中不再存在此目錄。

{userpf},{usercf}和{username}常量以及AlwaysUsePersonalGroup [Setup]指令現在可以正確觸發正在使用的用戶區域中的警告。

Pascal腳本更改:已刪除GetShellFolder支持。由於已經建議了幫助文件,請改用ExpandConstant。

新添加了新的[Registry]部分根值HKA。在管理安裝模式下等效於HKLM,否則等於HKCU。此外,還支持對{REG:...}常量和HKA32 / HKA64的支持。注意:HKA(例如HKCU)僅適用於與漫游配置文件兼容的設置。

使用[注冊表]部分,不再建議使用根值HKCR。而是,將HKA的子項參數設置為“ Software \ Classes”。

Pascal腳本更改:添加了HKA和HKEY_AUTO常量。還支持HKA32,HKA64,HKEY_AUTO_32和HKEY_AUTO_64。

現在,編譯器IDE的“新腳本向導”提供了一個選項,用於選擇管理安裝模式或非管理安裝模式,以及可以在兩種模式下使用的輸出腳本。

Pascal腳本更改:添加了新的IsAdminInstallMode支持。

在幫助文件中添加了“非管理安裝模式”主題。

覆蓋覆蓋安裝模式

一旦腳本完全更新以支持管理和非管理安裝模式(例如,通過使用新的“ auto”常量和新的[Registry]節根值HKA),您就可以使用以下命令:

新增加了[Setup]部分的新說明:PrivilegesRequiredOverridesAllowed,可以將其設置為一個或多個替代,以便最終用戶可以覆蓋腳本的默認PrivilegesRequired設置。支持以下替代方法:命令行和對話框。

如果允許覆蓋命令行,則安裝程序將支持兩個附加的命令行參數以覆蓋腳本的默認PrivilegesRequired設置:/ ALLUSERS和/ CURRENTUSER。

如果允許覆蓋對話框,則安裝程序將要求用戶根據腳本的默認PrivilegesRequired設置,使用可抑制對話框(例如,如果PrivilegesRequired設置為admin)來選擇安裝模式。 “允許”對話框會自動允許使用命令行,並且在使用命令行參數之一時,安裝程序不會詢問用戶。

添加了新的[Setup]部分說明:UsePreviousPrivileges。如果此指令設置為yes(默認情況下默認設置)並且PrivilegesRequiredOverridesAllowed設置為dialog,則安裝程序將在啟動時在注冊表中查找以查看是否已經在兩種安裝模式之一中安裝了相同的應用程序,如果已,它將在不詢問用戶的情況下使用該安裝模式。

現在,編譯器IDE的“新腳本向導”提供了允許命令行和對話框替代的選項。

Inno Setup自己的安裝程序腳本現在支持管理和非管理安裝模式,並允許覆蓋對話框。

安裝並排安裝

對並行安裝的支持已得到改進:

不共享同一管理安裝或非管理安裝的兩個單獨的安裝運行不再被視為同一應用程序。這意味着即使安裝

由於rs共享相同的AppId設置(如果未設置AppId,則共享相同的AppName設置),現在可以並行安裝這些模式,而不會受到以前版本的奇怪副作用。

默認行為的更改:為避免在“添加/刪除程序”控制面板中為applet安裝程序使用相同的名稱,它現在將自動在“並排”期間使用“當前用戶”或“ 64位”或類似名稱。標記新條目。側面安裝。

在幫助文件中添加了並行安裝主題。

可調整大小的向導窗口

現在可以調整向導窗口的大小:

添加了新的[Setup]部分說明:WizardResizable。如果此偽指令設置為yes,則用戶將能夠調整主安裝向導窗口的大小。

新增加了[Setup]部分的新說明:WizardSizePercent,可用於增加所有安裝和卸載向導窗口的默認大小,而無需增加字體大小。

Pascal腳本更改:

新向所有控件添加了新的Anchors屬性,並向TSetupForm添加了新的KeepSizeY屬性,這使您可以向所有自定義控件,自定義向導頁面和TSetupForm表單(如果有)添加對WizardResizable和WizardSizePercent的完全支持。有關示例,請參見CodeClasses.iss示例腳本。此示例還顯示了對TSetupForm所做的其他更改。

新向TForm支持類添加了新的Constraints屬性。

新的現代巫師風格

向導窗口現在支持更現代的外觀:

新添加了新的[Setup]部分說明:WizardStyle。如果將此指令設置為modern,則Setup和Uninstall將顯示更現代的外觀,而WizardResizable和WizardSizePercent的默認值分別更改為yes和120,120。

更改的默認行為:Inno Setup的早期版本也支持WizardStyle,並且如果腳本中仍包含WizardStyle = modern(允許向后兼容,但實際上未進行任何更改),並且您不想采用新外觀,則可以應該刪除此行或將其更改為WizardStyle = classic。

更新

所有示例和Compiler IDE的“ New Script Wizard”都使用WizardStyle = modern。

Pascal腳本更改:向TWizardPage支持類添加了新的SurfaceColor屬性。

現在,無論使用哪種WizardStyle設置,某些元素始終具有更現代的外觀:

選擇現在,“選擇語言”對話框具有更現代的外觀,與Windows 10任務對話框和消息框(示例)一致。

展平安裝程序界面的某些元素以提供更現代的外觀。

編譯器IDE更新

外觀編譯器IDE的外觀已更新:

更新了所有工具欄圖標,並展平了Compiler IDE的界面,以提供更現代的外觀。

編譯器IDE現在支持三個主題:亮(示例),暗(示例)和經典(示例)。淺色主題是新的默認主題,除非系統運行Windows 10且啟用了深色模式,在這種情況下,深色主題是默認主題。您可以在選項中更改活動主題。

現在,編譯器IDE使用每個監視器的DPI感知模式,並且還允許其界面元素使用“ Segoe UI”字體。

編譯器輸出視圖現在已着色。可以在選項中將其關閉。

現在“調試輸出”視圖將粗體文本用於任何輸入行,例如“ -file input-”。

選項“選項”按鈕現在,沒有管理特權,您可以將.iss文件與此編譯器關聯到當前用戶的關聯,而不顯示錯誤。

對於新安裝,默認情況下啟用了“保存后允許撤消”和“顯示縮進”指南選項。

默認情況下,“配置簽名工具”窗口現在更寬且可調整大小。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM