Files
App-Installer-For-Windows-8…/others/Autosave/autosave_2025-12-07_15-15-06.suf
2025-12-07 15:18:40 +08:00

6192 lines
155 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="iso-8859-1"?>
<DocumentData>
<ProductID>{AFB904C4-C255-4540-B97E-A75A34F1FFB0}</ProductID>
<ProductVersion>9.5.3.0</ProductVersion>
<ProductType/>
<ArchiveFiles>
<FileData>
<FldRef>1</FldRef>
<FullName/>
<FileName>*.*</FileName>
<Source>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\shared</Source>
<Ext>*</Ext>
<RTSource>도갭</RTSource>
<Desc/>
<Recurse>1</Recurse>
<MatchMode>0</MatchMode>
<Dest>%AppFolder%</Dest>
<Overwrite>1</Overwrite>
<Backup>0</Backup>
<Protect>0</Protect>
<InstallOrder>1000</InstallOrder>
<SCStartRoot>0</SCStartRoot>
<SCStartProgs>0</SCStartProgs>
<SCAppFld>0</SCAppFld>
<SCStartup>0</SCStartup>
<SCDesk>0</SCDesk>
<SCQLaunch>0</SCQLaunch>
<SCStartPinOption>0</SCStartPinOption>
<SCCust>0</SCCust>
<CustSCPath/>
<SCDesc/>
<SCComment/>
<SCArgs/>
<SCWork/>
<UseExtIco>0</UseExtIco>
<IcoFN/>
<IcoIdx>0</IcoIdx>
<IcoShowMd>0</IcoShowMd>
<IcoHK>0</IcoHK>
<RegTTF>1</RegTTF>
<TTFName/>
<RegOCX>1</RegOCX>
<RegTLB>1</RegTLB>
<SupInUse>0</SupInUse>
<Compress>1</Compress>
<UseOrigAttr>1</UseOrigAttr>
<Attr>0</Attr>
<NoCRC>0</NoCRC>
<NoRemove>0</NoRemove>
<Shared>0</Shared>
<OSCond>
<OS>32768</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
</OSCond>
<RTCond/>
<BuildConfigs>
<Cfg>All</Cfg>
</BuildConfigs>
<Package>None</Package>
<Packages/>
<Notes/>
<CompSize>0</CompSize>
<CRC>0</CRC>
<StoreOnly>0</StoreOnly>
</FileData>
<FileData>
<FldRef>0</FldRef>
<FullName>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\appinstaller.exe</FullName>
<FileName>appinstaller.exe</FileName>
<Source>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release</Source>
<Ext>exe</Ext>
<RTSource>도갭</RTSource>
<Desc/>
<Recurse>1</Recurse>
<MatchMode>0</MatchMode>
<Dest>%AppFolder%</Dest>
<Overwrite>1</Overwrite>
<Backup>0</Backup>
<Protect>0</Protect>
<InstallOrder>1000</InstallOrder>
<SCStartRoot>0</SCStartRoot>
<SCStartProgs>0</SCStartProgs>
<SCAppFld>0</SCAppFld>
<SCStartup>0</SCStartup>
<SCDesk>0</SCDesk>
<SCQLaunch>0</SCQLaunch>
<SCStartPinOption>0</SCStartPinOption>
<SCCust>0</SCCust>
<CustSCPath/>
<SCDesc>App Installer</SCDesc>
<SCComment/>
<SCArgs/>
<SCWork/>
<UseExtIco>0</UseExtIco>
<IcoFN/>
<IcoIdx>0</IcoIdx>
<IcoShowMd>0</IcoShowMd>
<IcoHK>0</IcoHK>
<RegTTF>0</RegTTF>
<TTFName/>
<RegOCX>0</RegOCX>
<RegTLB>0</RegTLB>
<SupInUse>0</SupInUse>
<Compress>1</Compress>
<UseOrigAttr>1</UseOrigAttr>
<Attr>0</Attr>
<NoCRC>0</NoCRC>
<NoRemove>0</NoRemove>
<Shared>0</Shared>
<OSCond>
<OS>32768</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
</OSCond>
<RTCond/>
<BuildConfigs>
<Cfg>All</Cfg>
</BuildConfigs>
<Package>None</Package>
<Packages/>
<Notes/>
<CompSize>0</CompSize>
<CRC>0</CRC>
<StoreOnly>0</StoreOnly>
</FileData>
<FileData>
<FldRef>0</FldRef>
<FullName>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\certmgr.dll</FullName>
<FileName>certmgr.dll</FileName>
<Source>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release</Source>
<Ext>dll</Ext>
<RTSource>도갭</RTSource>
<Desc/>
<Recurse>1</Recurse>
<MatchMode>0</MatchMode>
<Dest>%AppFolder%</Dest>
<Overwrite>1</Overwrite>
<Backup>0</Backup>
<Protect>0</Protect>
<InstallOrder>1000</InstallOrder>
<SCStartRoot>0</SCStartRoot>
<SCStartProgs>0</SCStartProgs>
<SCAppFld>0</SCAppFld>
<SCStartup>0</SCStartup>
<SCDesk>0</SCDesk>
<SCQLaunch>0</SCQLaunch>
<SCStartPinOption>0</SCStartPinOption>
<SCCust>0</SCCust>
<CustSCPath/>
<SCDesc/>
<SCComment/>
<SCArgs/>
<SCWork/>
<UseExtIco>0</UseExtIco>
<IcoFN/>
<IcoIdx>0</IcoIdx>
<IcoShowMd>0</IcoShowMd>
<IcoHK>0</IcoHK>
<RegTTF>0</RegTTF>
<TTFName/>
<RegOCX>0</RegOCX>
<RegTLB>0</RegTLB>
<SupInUse>0</SupInUse>
<Compress>1</Compress>
<UseOrigAttr>1</UseOrigAttr>
<Attr>0</Attr>
<NoCRC>0</NoCRC>
<NoRemove>0</NoRemove>
<Shared>0</Shared>
<OSCond>
<OS>32768</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
</OSCond>
<RTCond/>
<BuildConfigs>
<Cfg>All</Cfg>
</BuildConfigs>
<Package>None</Package>
<Packages/>
<Notes/>
<CompSize>0</CompSize>
<CRC>0</CRC>
<StoreOnly>0</StoreOnly>
</FileData>
<FileData>
<FldRef>0</FldRef>
<FullName>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\notice.dll</FullName>
<FileName>notice.dll</FileName>
<Source>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release</Source>
<Ext>dll</Ext>
<RTSource>도갭</RTSource>
<Desc/>
<Recurse>1</Recurse>
<MatchMode>0</MatchMode>
<Dest>%AppFolder%</Dest>
<Overwrite>1</Overwrite>
<Backup>0</Backup>
<Protect>0</Protect>
<InstallOrder>1000</InstallOrder>
<SCStartRoot>0</SCStartRoot>
<SCStartProgs>0</SCStartProgs>
<SCAppFld>0</SCAppFld>
<SCStartup>0</SCStartup>
<SCDesk>0</SCDesk>
<SCQLaunch>0</SCQLaunch>
<SCStartPinOption>0</SCStartPinOption>
<SCCust>0</SCCust>
<CustSCPath/>
<SCDesc/>
<SCComment/>
<SCArgs/>
<SCWork/>
<UseExtIco>0</UseExtIco>
<IcoFN/>
<IcoIdx>0</IcoIdx>
<IcoShowMd>0</IcoShowMd>
<IcoHK>0</IcoHK>
<RegTTF>0</RegTTF>
<TTFName/>
<RegOCX>0</RegOCX>
<RegTLB>0</RegTLB>
<SupInUse>0</SupInUse>
<Compress>1</Compress>
<UseOrigAttr>1</UseOrigAttr>
<Attr>0</Attr>
<NoCRC>0</NoCRC>
<NoRemove>0</NoRemove>
<Shared>0</Shared>
<OSCond>
<OS>32768</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
</OSCond>
<RTCond/>
<BuildConfigs>
<Cfg>All</Cfg>
</BuildConfigs>
<Package>None</Package>
<Packages/>
<Notes/>
<CompSize>0</CompSize>
<CRC>0</CRC>
<StoreOnly>0</StoreOnly>
</FileData>
<FileData>
<FldRef>0</FldRef>
<FullName>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\pkgmgr.dll</FullName>
<FileName>pkgmgr.dll</FileName>
<Source>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release</Source>
<Ext>dll</Ext>
<RTSource>도갭</RTSource>
<Desc/>
<Recurse>1</Recurse>
<MatchMode>0</MatchMode>
<Dest>%AppFolder%</Dest>
<Overwrite>1</Overwrite>
<Backup>0</Backup>
<Protect>0</Protect>
<InstallOrder>1000</InstallOrder>
<SCStartRoot>0</SCStartRoot>
<SCStartProgs>0</SCStartProgs>
<SCAppFld>0</SCAppFld>
<SCStartup>0</SCStartup>
<SCDesk>0</SCDesk>
<SCQLaunch>0</SCQLaunch>
<SCStartPinOption>0</SCStartPinOption>
<SCCust>0</SCCust>
<CustSCPath/>
<SCDesc/>
<SCComment/>
<SCArgs/>
<SCWork/>
<UseExtIco>0</UseExtIco>
<IcoFN/>
<IcoIdx>0</IcoIdx>
<IcoShowMd>0</IcoShowMd>
<IcoHK>0</IcoHK>
<RegTTF>0</RegTTF>
<TTFName/>
<RegOCX>0</RegOCX>
<RegTLB>0</RegTLB>
<SupInUse>0</SupInUse>
<Compress>1</Compress>
<UseOrigAttr>1</UseOrigAttr>
<Attr>0</Attr>
<NoCRC>0</NoCRC>
<NoRemove>0</NoRemove>
<Shared>0</Shared>
<OSCond>
<OS>32768</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
</OSCond>
<RTCond/>
<BuildConfigs>
<Cfg>All</Cfg>
</BuildConfigs>
<Package>None</Package>
<Packages/>
<Notes/>
<CompSize>0</CompSize>
<CRC>0</CRC>
<StoreOnly>0</StoreOnly>
</FileData>
<FileData>
<FldRef>0</FldRef>
<FullName>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\pkgread.dll</FullName>
<FileName>pkgread.dll</FileName>
<Source>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release</Source>
<Ext>dll</Ext>
<RTSource>도갭</RTSource>
<Desc/>
<Recurse>1</Recurse>
<MatchMode>0</MatchMode>
<Dest>%AppFolder%</Dest>
<Overwrite>1</Overwrite>
<Backup>0</Backup>
<Protect>0</Protect>
<InstallOrder>1000</InstallOrder>
<SCStartRoot>0</SCStartRoot>
<SCStartProgs>0</SCStartProgs>
<SCAppFld>0</SCAppFld>
<SCStartup>0</SCStartup>
<SCDesk>0</SCDesk>
<SCQLaunch>0</SCQLaunch>
<SCStartPinOption>0</SCStartPinOption>
<SCCust>0</SCCust>
<CustSCPath/>
<SCDesc/>
<SCComment/>
<SCArgs/>
<SCWork/>
<UseExtIco>0</UseExtIco>
<IcoFN/>
<IcoIdx>0</IcoIdx>
<IcoShowMd>0</IcoShowMd>
<IcoHK>0</IcoHK>
<RegTTF>0</RegTTF>
<TTFName/>
<RegOCX>0</RegOCX>
<RegTLB>0</RegTLB>
<SupInUse>0</SupInUse>
<Compress>1</Compress>
<UseOrigAttr>1</UseOrigAttr>
<Attr>0</Attr>
<NoCRC>0</NoCRC>
<NoRemove>0</NoRemove>
<Shared>0</Shared>
<OSCond>
<OS>32768</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
</OSCond>
<RTCond/>
<BuildConfigs>
<Cfg>All</Cfg>
</BuildConfigs>
<Package>None</Package>
<Packages/>
<Notes/>
<CompSize>0</CompSize>
<CRC>0</CRC>
<StoreOnly>0</StoreOnly>
</FileData>
<FileData>
<FldRef>0</FldRef>
<FullName>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\PriFileFormat.dll</FullName>
<FileName>PriFileFormat.dll</FileName>
<Source>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release</Source>
<Ext>dll</Ext>
<RTSource>도갭</RTSource>
<Desc/>
<Recurse>1</Recurse>
<MatchMode>0</MatchMode>
<Dest>%AppFolder%</Dest>
<Overwrite>1</Overwrite>
<Backup>0</Backup>
<Protect>0</Protect>
<InstallOrder>1000</InstallOrder>
<SCStartRoot>0</SCStartRoot>
<SCStartProgs>0</SCStartProgs>
<SCAppFld>0</SCAppFld>
<SCStartup>0</SCStartup>
<SCDesk>0</SCDesk>
<SCQLaunch>0</SCQLaunch>
<SCStartPinOption>0</SCStartPinOption>
<SCCust>0</SCCust>
<CustSCPath/>
<SCDesc/>
<SCComment/>
<SCArgs/>
<SCWork/>
<UseExtIco>0</UseExtIco>
<IcoFN/>
<IcoIdx>0</IcoIdx>
<IcoShowMd>0</IcoShowMd>
<IcoHK>0</IcoHK>
<RegTTF>0</RegTTF>
<TTFName/>
<RegOCX>0</RegOCX>
<RegTLB>0</RegTLB>
<SupInUse>0</SupInUse>
<Compress>1</Compress>
<UseOrigAttr>1</UseOrigAttr>
<Attr>0</Attr>
<NoCRC>0</NoCRC>
<NoRemove>0</NoRemove>
<Shared>0</Shared>
<OSCond>
<OS>32768</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
</OSCond>
<RTCond/>
<BuildConfigs>
<Cfg>All</Cfg>
</BuildConfigs>
<Package>None</Package>
<Packages/>
<Notes/>
<CompSize>0</CompSize>
<CRC>0</CRC>
<StoreOnly>0</StoreOnly>
</FileData>
<FileData>
<FldRef>0</FldRef>
<FullName>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\priformatcli.dll</FullName>
<FileName>priformatcli.dll</FileName>
<Source>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release</Source>
<Ext>dll</Ext>
<RTSource>도갭</RTSource>
<Desc/>
<Recurse>1</Recurse>
<MatchMode>0</MatchMode>
<Dest>%AppFolder%</Dest>
<Overwrite>1</Overwrite>
<Backup>0</Backup>
<Protect>0</Protect>
<InstallOrder>1000</InstallOrder>
<SCStartRoot>0</SCStartRoot>
<SCStartProgs>0</SCStartProgs>
<SCAppFld>0</SCAppFld>
<SCStartup>0</SCStartup>
<SCDesk>0</SCDesk>
<SCQLaunch>0</SCQLaunch>
<SCStartPinOption>0</SCStartPinOption>
<SCCust>0</SCCust>
<CustSCPath/>
<SCDesc/>
<SCComment/>
<SCArgs/>
<SCWork/>
<UseExtIco>0</UseExtIco>
<IcoFN/>
<IcoIdx>0</IcoIdx>
<IcoShowMd>0</IcoShowMd>
<IcoHK>0</IcoHK>
<RegTTF>0</RegTTF>
<TTFName/>
<RegOCX>0</RegOCX>
<RegTLB>0</RegTLB>
<SupInUse>0</SupInUse>
<Compress>1</Compress>
<UseOrigAttr>1</UseOrigAttr>
<Attr>0</Attr>
<NoCRC>0</NoCRC>
<NoRemove>0</NoRemove>
<Shared>0</Shared>
<OSCond>
<OS>32768</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
</OSCond>
<RTCond/>
<BuildConfigs>
<Cfg>All</Cfg>
</BuildConfigs>
<Package>None</Package>
<Packages/>
<Notes/>
<CompSize>0</CompSize>
<CRC>0</CRC>
<StoreOnly>0</StoreOnly>
</FileData>
<FileData>
<FldRef>0</FldRef>
<FullName>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\reslib.dll</FullName>
<FileName>reslib.dll</FileName>
<Source>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release</Source>
<Ext>dll</Ext>
<RTSource>도갭</RTSource>
<Desc/>
<Recurse>1</Recurse>
<MatchMode>0</MatchMode>
<Dest>%AppFolder%</Dest>
<Overwrite>1</Overwrite>
<Backup>0</Backup>
<Protect>0</Protect>
<InstallOrder>1000</InstallOrder>
<SCStartRoot>0</SCStartRoot>
<SCStartProgs>0</SCStartProgs>
<SCAppFld>0</SCAppFld>
<SCStartup>0</SCStartup>
<SCDesk>0</SCDesk>
<SCQLaunch>0</SCQLaunch>
<SCStartPinOption>0</SCStartPinOption>
<SCCust>0</SCCust>
<CustSCPath/>
<SCDesc/>
<SCComment/>
<SCArgs/>
<SCWork/>
<UseExtIco>0</UseExtIco>
<IcoFN/>
<IcoIdx>0</IcoIdx>
<IcoShowMd>0</IcoShowMd>
<IcoHK>0</IcoHK>
<RegTTF>0</RegTTF>
<TTFName/>
<RegOCX>0</RegOCX>
<RegTLB>0</RegTLB>
<SupInUse>0</SupInUse>
<Compress>1</Compress>
<UseOrigAttr>1</UseOrigAttr>
<Attr>0</Attr>
<NoCRC>0</NoCRC>
<NoRemove>0</NoRemove>
<Shared>0</Shared>
<OSCond>
<OS>32768</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
</OSCond>
<RTCond/>
<BuildConfigs>
<Cfg>All</Cfg>
</BuildConfigs>
<Package>None</Package>
<Packages/>
<Notes/>
<CompSize>0</CompSize>
<CRC>0</CRC>
<StoreOnly>0</StoreOnly>
</FileData>
<FileData>
<FldRef>0</FldRef>
<FullName>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\settings.exe</FullName>
<FileName>settings.exe</FileName>
<Source>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release</Source>
<Ext>exe</Ext>
<RTSource>도갭</RTSource>
<Desc/>
<Recurse>1</Recurse>
<MatchMode>0</MatchMode>
<Dest>%AppFolder%</Dest>
<Overwrite>1</Overwrite>
<Backup>0</Backup>
<Protect>0</Protect>
<InstallOrder>1000</InstallOrder>
<SCStartRoot>0</SCStartRoot>
<SCStartProgs>0</SCStartProgs>
<SCAppFld>0</SCAppFld>
<SCStartup>0</SCStartup>
<SCDesk>0</SCDesk>
<SCQLaunch>0</SCQLaunch>
<SCStartPinOption>0</SCStartPinOption>
<SCCust>0</SCCust>
<CustSCPath/>
<SCDesc>Settings</SCDesc>
<SCComment/>
<SCArgs/>
<SCWork/>
<UseExtIco>0</UseExtIco>
<IcoFN/>
<IcoIdx>0</IcoIdx>
<IcoShowMd>0</IcoShowMd>
<IcoHK>0</IcoHK>
<RegTTF>0</RegTTF>
<TTFName/>
<RegOCX>0</RegOCX>
<RegTLB>0</RegTLB>
<SupInUse>0</SupInUse>
<Compress>1</Compress>
<UseOrigAttr>1</UseOrigAttr>
<Attr>0</Attr>
<NoCRC>0</NoCRC>
<NoRemove>0</NoRemove>
<Shared>0</Shared>
<OSCond>
<OS>32768</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
</OSCond>
<RTCond/>
<BuildConfigs>
<Cfg>All</Cfg>
</BuildConfigs>
<Package>None</Package>
<Packages/>
<Notes/>
<CompSize>0</CompSize>
<CRC>0</CRC>
<StoreOnly>0</StoreOnly>
</FileData>
<FileData>
<FldRef>0</FldRef>
<FullName>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\others\uninstall_icon.ico</FullName>
<FileName>uninstall_icon.ico</FileName>
<Source>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\others</Source>
<Ext>ico</Ext>
<RTSource>도갭</RTSource>
<Desc/>
<Recurse>1</Recurse>
<MatchMode>0</MatchMode>
<Dest>%AppFolder%</Dest>
<Overwrite>1</Overwrite>
<Backup>0</Backup>
<Protect>0</Protect>
<InstallOrder>1000</InstallOrder>
<SCStartRoot>0</SCStartRoot>
<SCStartProgs>0</SCStartProgs>
<SCAppFld>0</SCAppFld>
<SCStartup>0</SCStartup>
<SCDesk>0</SCDesk>
<SCQLaunch>0</SCQLaunch>
<SCStartPinOption>0</SCStartPinOption>
<SCCust>0</SCCust>
<CustSCPath/>
<SCDesc/>
<SCComment/>
<SCArgs/>
<SCWork/>
<UseExtIco>0</UseExtIco>
<IcoFN/>
<IcoIdx>0</IcoIdx>
<IcoShowMd>0</IcoShowMd>
<IcoHK>0</IcoHK>
<RegTTF>0</RegTTF>
<TTFName/>
<RegOCX>0</RegOCX>
<RegTLB>0</RegTLB>
<SupInUse>0</SupInUse>
<Compress>1</Compress>
<UseOrigAttr>1</UseOrigAttr>
<Attr>0</Attr>
<NoCRC>0</NoCRC>
<NoRemove>0</NoRemove>
<Shared>0</Shared>
<OSCond>
<OS>32768</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
</OSCond>
<RTCond/>
<BuildConfigs>
<Cfg>All</Cfg>
</BuildConfigs>
<Package>None</Package>
<Packages/>
<Notes/>
<CompSize>0</CompSize>
<CRC>0</CRC>
<StoreOnly>0</StoreOnly>
</FileData>
<FileData>
<FldRef>0</FldRef>
<FullName>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\shortcut.exe</FullName>
<FileName>shortcut.exe</FileName>
<Source>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release</Source>
<Ext>exe</Ext>
<RTSource>도갭</RTSource>
<Desc/>
<Recurse>1</Recurse>
<MatchMode>0</MatchMode>
<Dest>%AppFolder%</Dest>
<Overwrite>1</Overwrite>
<Backup>0</Backup>
<Protect>0</Protect>
<InstallOrder>1000</InstallOrder>
<SCStartRoot>0</SCStartRoot>
<SCStartProgs>0</SCStartProgs>
<SCAppFld>0</SCAppFld>
<SCStartup>0</SCStartup>
<SCDesk>0</SCDesk>
<SCQLaunch>0</SCQLaunch>
<SCStartPinOption>0</SCStartPinOption>
<SCCust>0</SCCust>
<CustSCPath/>
<SCDesc>shortcut</SCDesc>
<SCComment/>
<SCArgs/>
<SCWork/>
<UseExtIco>0</UseExtIco>
<IcoFN/>
<IcoIdx>0</IcoIdx>
<IcoShowMd>0</IcoShowMd>
<IcoHK>0</IcoHK>
<RegTTF>0</RegTTF>
<TTFName/>
<RegOCX>0</RegOCX>
<RegTLB>0</RegTLB>
<SupInUse>0</SupInUse>
<Compress>1</Compress>
<UseOrigAttr>1</UseOrigAttr>
<Attr>0</Attr>
<NoCRC>0</NoCRC>
<NoRemove>0</NoRemove>
<Shared>0</Shared>
<OSCond>
<OS>32768</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
</OSCond>
<RTCond/>
<BuildConfigs>
<Cfg>All</Cfg>
</BuildConfigs>
<Package>None</Package>
<Packages/>
<Notes/>
<CompSize>0</CompSize>
<CRC>0</CRC>
<StoreOnly>0</StoreOnly>
</FileData>
</ArchiveFiles>
<ExternalFiles/>
<BeforeInstallingScreens>
<Screen>
<Type>100</Type>
<Name>Welcome to Setup</Name>
<BannerStyle>1</BannerStyle>
<TemplateName>Welcome to Setup</TemplateName>
<OverrideProjTheme>0</OverrideProjTheme>
<StyleData>
<CstClrs>0</CstClrs>
<TBBG format="hex">ffffff</TBBG>
<BDYBG format="hex">ece9d8</BDYBG>
<FTBG format="hex">ece9d8</FTBG>
<TBTXT format="hex">000000</TBTXT>
<BDYTXT format="hex">000000</BDYTXT>
<CBG format="hex">ffffff</CBG>
<C3DFACE format="hex">ece9d8</C3DFACE>
<C3DHLT format="hex">ece9d8</C3DHLT>
<C3DLIT format="hex">ffffff</C3DLIT>
<C3DSH format="hex">aca899</C3DSH>
<CBTNTXT format="hex">000000</CBTNTXT>
<CTEXT format="hex">000000</CTEXT>
<CDISTXT format="hex">aca899</CDISTXT>
<CPRGRS format="hex">316ac5</CPRGRS>
<C3DSHDK format="hex">716f64</C3DSHDK>
<TBIMG>Developer_top.jpg</TBIMG>
<SBIMG>Developer_side.jpg</SBIMG>
<BDIMG>Developer_body.jpg</BDIMG>
<BDFILL>0</BDFILL>
<HDSEP>0</HDSEP>
<FTSEP>1</FTSEP>
<CstFnts>0</CstFnts>
<Fonts>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-24</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</Fonts>
<CAOff>
<TP>0</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>1</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>2</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<TBTXTX>10</TBTXTX>
<TBTXTY>10</TBTXTY>
<ScreenW>497</ScreenW>
<ScreenH>362</ScreenH>
</StyleData>
<Events>
<Event>
<Name>On Preload</Name>
<Args/>
<Script>-- These actions are performed before the screen is shown.
function GetLangID(p, s)
-- s 璘盧 10 貫 = s * 2^10
-- 객貫샀 = 겉 p 속<>섦옵凜槨 p &lt; 2^10WinAPI 괏聯)
return s * 1024 + p
end
-- ============================================
-- 변鑒DetectSystemLanguage
-- 췄甘:쇱꿎溝固刀喇,럿쀼 'zh' 샀 'en'
-- ============================================
function DetectSystemLanguage()
-- 딧痰바렘API삿혤刀喇斤口
local langTbl = Application.GetInstallLanguage();
local langid = GetLangID (langTbl.Primary, langTbl.Secondary);
-- 쇱꿴API角뤠딧痰냥묘
if langTbl and langid then
-- 쉥刀喇ID瘻뻣槨乖쳬돨刀喇깃街
-- 0x0409 (1033) = 亶刀(쳄벌)0x0804 (2052) = 櫓匡(숌竟)
if langid == 2052 then -- 櫓匡(숌竟)
return "zh"
else -- 칵훰亶刀관윅1033섟페儉헙워
return "en"
end
end
-- API딧痰呵겨샀灌列헙워칵훰럿쀼亶刀
return "en"
end
-- ============================================
-- 홍애刀喇깊
-- 綱츠:杰唐矜狼굶뒈뺏돨俚륜눔떼땍屢瞳侶쟁
-- ============================================
local LangStrings = {
zh = {
-- 곤燎匡굶
help_title = "갛陋넋埼츱즈契곤燎",
help_body = [[
MyApp 갛陋넋埼 - 츱즈契꽝鑒곤燎
菱땡갛陋친駕 (轟썹충샀굳땡갛陋):
/S, /SILENT, /QUIET, /PASSIVE, /AUTO
-S, -SILENT, -QUIET, -PASSIVE, -AUTO
(冷連넣轟품留목駕,흔 SILENT)
寧땍갛陋쨌쓺 (맡묘콘瞳路劤갛陋친駕뵨<E9A795>섬친駕꼇옵痰):
1. 賈痰 /TO 꽝鑒 - 뫘맣갛陋돨몽貫零,뎃괏즛칵훰匡숭셸츰냔。
刻절: /TO:"D:\"
갛陋돕: D:\MyApp\ (솝<>칵훰갛陋돕 C:\Program Files\MyApp)
刻절: /TO "D:\MyCompany"
갛陋돕: D:\MyCompany\MyApp\
2. 賈痰 /DIR 꽝鑒 - 寧땍供憐돨菱땍屢갛陋쨌쓺。
刻절: /DIR:"D:\MyApp Custom"
갛陋돕: D:\MyApp Custom\
刻절: /dir "C:\Program Files\Another Name"
鬧雷:쨌쓺흼관벵왕목,헝賈痰崗多뵀관범。
鞫刻늪곤燎:
/?, /HELP, /H, -?, -HELP, -H, ?, HELP, H
賈痰刻절:
setup.exe /S /TO:"D:\" // 쓰칵갛陋돕D턍
setup.exe /DIR:"C:\My App" /S // 쓰칵갛陋돕菱땍屢커쩌
setup.exe /TO D:\ /PASSIVE // 굳땡친駕갛陋돕D턍
]],
-- 뚤뺐움句口
downgrade_title = "%ProductName% 갛陋넋埼", -- %ProductName% 삔굳菱땡競뻣
downgrade_msg = "쇱꿎돕綠갛陋돨경굶 (%s) 궐뎠품갛陋관경굶 (%s) 뫘멕。\n\n狼셨崎쏵契슉섬갛陋찐\n鬧雷侶삔림맨君唐경굶。헝횅괏綠밑균覩넋埼。",
reinstall_title = "%ProductName% 갛陋넋埼",
reinstall_msg = "쇱꿎돕뎠품셕炬샙綠갛陋宅굶갛陋관宮谿돨경굶 (%s),헝狂狼셨崎갛陋찐?\n\n鬧雷路劤갛陋珂삔림맨君唐匡숭。헝횅괏綠밑균覩넋埼。"
},
en = {
-- 곤燎匡굶
help_title = "Installer Command Line Help",
help_body = [[
MyApp Installer - Command Line Help
Automatic installation modes (unattended or passive):
/S, /SILENT, /QUIET, /PASSIVE, /AUTO
-S, -SILENT, -QUIET, -PASSIVE, -AUTO
(Prefixless formats like SILENT are also supported)
Specify installation path (Not available in Reinstall and Upgrade modes):
1. Use /TO parameter - Change the root location but keep the default folder name.
Example: /TO:"D:\"
Installs to: D:\MyApp\ (assuming default is C:\Program Files\MyApp)
Example: /TO "D:\MyCompany"
Installs to: D:\MyCompany\MyApp\
2. Use /DIR parameter - Specify a complete custom installation path.
Example: /DIR:"D:\MyApp Custom"
Installs to: D:\MyApp Custom\
Example: /dir "C:\Program Files\Another Name"
Note: If the path contains spaces, please enclose it in double quotes.
Show this help:
/?, /HELP, /H, -?, -HELP, -H, ?, HELP, H
Usage Examples:
setup.exe /S /TO:"D:\" // Silent install to D drive
setup.exe /DIR:"C:\My App" /S // Silent install to custom directory
setup.exe /TO D:\ /PASSIVE // Passive mode install to D drive
]],
-- 뚤뺐움句口
downgrade_title = "%ProductName% Setup",
downgrade_msg = "A higher version (%s) is already installed compared to the current installer version (%s).\n\nDo you want to proceed with downgrade installation?\nNote: This will overwrite the existing version. Please ensure the original program is closed.",
reinstall_title = "%ProductName% Setup",
reinstall_msg = "The same version (%s) is already installed on this computer. Do you want to continue with reinstallation?\n\nNote: Reinstallation will overwrite existing files. Please ensure the original program is closed."
}
}
-- ============================================
-- 변鑒GetLocalizedString
-- 췄甘:삿혤뎠품刀喇돨굶뒈뺏俚륜눔
-- 꽝鑒key - 俚륜눔숩츰(흔 "downgrade_msg"
-- 럿쀼:굶뒈뺏빈돨俚륜눔
-- ============================================
function GetLocalizedString(key)
local lang = DetectSystemLanguage()
local str = LangStrings[lang][key] or LangStrings["en"][key] or ""
-- 競뻣옵콘돨땡檄긴좆
str = SessionVar.Expand(str);
return str
end
function CompareVersion(verstrl, verstrr)
return String.CompareFileVersions (verstrl, verstrr);
end
-- ============================================
-- 변鑒ParseSetupArgs
-- 췄甘:썩驕藤퓻돨갛陋넋埼츱즈契꽝鑒(쇗휭샘뇟변鑒경굶)
-- 럿쀼:
-- isAutoMode (boolean): 角뤠槨菱땡/쓰칵친駕
-- customInstallPath (string or nil): 菱땍屢돨갛陋쨌쓺
-- showHelp (boolean): 角뤠鞫刻곤燎斤口
-- pathParamUsed (string or nil): 賈痰돨쨌쓺꽝鑒잚謹(“/TO”샀“/DIR”
-- ============================================
function ParseSetupArgs()
local args = _CommandLineArgs or {}
local isAutoMode = false
local customInstallPath = nil
local showHelp = false
local pathParamUsed = nil
-- 땍屢꽝鑒俚듕,瓊멕쇱꿴槻쪽
local flagMap = {}
-- 菱땡친駕꽝鑒
local autoList = {"/S", "/SILENT", "/PASSIVE", "/QUIET", "/AUTO", "-S", "-SILENT", "-PASSIVE", "-QUIET", "-AUTO", "S", "SILENT", "PASSIVE", "QUIET", "AUTO"}
for _, flag in ipairs(autoList) do
flagMap[String.Upper(flag)] = "AUTO"
end
-- 곤燎꽝鑒
local helpList = {"/?", "/HELP", "/H", "-?", "-HELP", "-H", "?", "HELP", "H"}
for _, flag in ipairs(helpList) do
flagMap[String.Upper(flag)] = "HELP"
end
-- 코꼬변鑒:닒“꽝鑒:令”목駕櫓瓊혤令
local function extractValueFromColonArg(fullArg)
local colonPos = String.Find(fullArg, ":", 1, true)
if colonPos &gt; 0 then
-- 賈痰供憐돨 String.Mid 꽝鑒:俚륜눔, 폅迦貫零, 낀똑
local totalLen = String.Length(fullArg)
local valueLen = totalLen - colonPos -- 셕炬狼瓊혤돨낀똑
local value = String.Mid(fullArg, colonPos + 1, valueLen)
-- 혼뇜옵콘관범돨多뵀
value = String.TrimRight(value, "\"")
value = String.TrimRight(value, "'")
return value
end
return ""
end
-- 코꼬변鑒:뇹잿 /TO 꽝鑒쭉서
local function processToParam(rawPathValue)
-- 賈痰미땍돨칵훰匡숭셸츰
-- 路狼:쉥 "MyApp" 맣槨콱돨넋埼칵훰匡숭셸츰
local defaultFolderName = SessionVar.Expand ("%ProductName%");
if rawPathValue ~= "" and defaultFolderName ~= "" then
-- 횅괏 rawPathValue 鹿럽閨멎써棺
if String.Right(rawPathValue, 1) ~= "\\" then
rawPathValue = rawPathValue .. "\\"
end
return rawPathValue .. defaultFolderName
end
return rawPathValue
end
-- 코꼬변鑒:쇱꿴俚륜눔角뤠鹿寧땍품留역庫(꼇혐롸댕鬼畇)
local function startsWith(str, prefix)
return String.Left(String.Upper(str), String.Length(prefix)) == String.Upper(prefix)
end
local i = 1
while i &lt;= #args do
local arg = args[i]
local argUpper = String.Upper(arg)
local argType = flagMap[argUpper]
-- 1. 쇱꿴綠列돨뗌접꽝鑒(菱땡친駕、곤燎)
if argType == "AUTO" then
isAutoMode = true
elseif argType == "HELP" then
showHelp = true
-- 2. 쇱꿴“꽝鑒:令”목駕돨쨌쓺꽝鑒
elseif startsWith(arg, "/TO:") or startsWith(arg, "-TO:") then
pathParamUsed = "/TO"
local rawPath = extractValueFromColonArg(arg)
if rawPath ~= "" then
customInstallPath = processToParam(rawPath)
end
elseif startsWith(arg, "/DIR:") or startsWith(arg, "-DIR:") then
pathParamUsed = "/DIR"
local rawPath = extractValueFromColonArg(arg)
if rawPath ~= "" then
customInstallPath = rawPath
end
-- 3. 쇱꿴“꽝鑒 令”목駕돨쨌쓺꽝鑒(왕목롸몰)
elseif argUpper == "/TO" or argUpper == "-TO" then
pathParamUsed = "/TO"
if i + 1 &lt;= #args then
local nextArg = args[i + 1]
-- 횅괏苟寧몸꽝鑒꼇角쥼寧몸역밑꽝鑒
local nextFirstChar = String.Left(nextArg, 1)
if nextFirstChar ~= "/" and nextFirstChar ~= "-" then
local rawPath = String.TrimRight(nextArg, "\"")
rawPath = String.TrimRight(rawPath, "'")
customInstallPath = processToParam(rawPath)
i = i + 1 -- 句봬苟寧몸꽝鑒
end
end
elseif argUpper == "/DIR" or argUpper == "-DIR" then
pathParamUsed = "/DIR"
if i + 1 &lt;= #args then
local nextArg = args[i + 1]
local nextFirstChar = String.Left(nextArg, 1)
if nextFirstChar ~= "/" and nextFirstChar ~= "-" then
customInstallPath = String.TrimRight(nextArg, "\"")
customInstallPath = String.TrimRight(customInstallPath, "'")
i = i + 1
end
end
end
-- 흔벎꽝鑒灌튈토훨부綠列친駕,劍쉥굳빔쫠
i = i + 1
end
return isAutoMode, customInstallPath, showHelp, pathParamUsed
end
-- ============================================
-- 변鑒ShowHelpAndExit
-- 췄甘:鞫刻꽝鑒곤燎斤口깻藁놔갛陋넋埼
-- ============================================
function ShowHelpAndExit()
-- 瞳句口움櫓鞫刻곤燎(흔벎角슥빳친駕)
Dialog.Message(GetLocalizedString("help_title"), GetLocalizedString("help_body"), MB_OK, MB_ICONINFORMATION)
-- 藁놔갛陋넋埼
Application.Exit()
end
-- 썩驕츱즈契꽝鑒
local autoMode, installPath, needHelp = ParseSetupArgs()
if needHelp then
ShowHelpAndExit()
end
-- 닸뇨써벎묩빈崎賈痰
SessionVar.Set("%AutoInstallMode%", tostring(autoMode))
mode = 0; -- 0: Normal, 1: Reinstall, 2: Upgrade
keyexist = Registry.DoesKeyExist(HKEY_CURRENT_USER, "SOFTWARE\\Windows Modern\\App Installer");
if (keyexist) then
local ver = Registry.GetValue(HKEY_CURRENT_USER, "SOFTWARE\\Windows Modern\\App Installer", "Version", false);
local currentVer = SessionVar.Expand("%ProductVer%");
local ishigh = CompareVersion(ver, currentVer);
if (ishigh &gt; 0) then
-- 슉섬갛陋
if (autoMode == false) then
local msgpress = Dialog.Message(
GetLocalizedString("downgrade_title"),
string.format(GetLocalizedString("downgrade_msg"), ver, currentVer),
MB_YESNO, MB_ICONQUESTION
);
if (msgpress == IDYES) then mode = 1; -- 路劤갛陋(슉섬)
else Application.Exit();
end
else mode = 1;
end
elseif (ishigh == 0) then
-- 路劤갛陋(경굶宮谿)
if (autoMode == false) then
local msgpress1 = Dialog.Message(
GetLocalizedString("reinstall_title"),
string.format(GetLocalizedString("reinstall_msg"), ver),
MB_YESNO, MB_ICONQUESTION
);
if (msgpress1 == IDYES) then
mode = 1; -- 路劤갛陋
else
Application.Exit();
end
else mode = 1;
end
-- 鬧雷:侶쟁청唐 mode = 0 죄!
else
-- <20>섬갛陋
mode = 2; -- <20>
end
else
mode = 0; -- 홍劤갛陋
end
g_mode = mode;
if (installPath and mode == 0) then
SessionVar.Set("%AppFolder%", installPath);
end
g_lastver = Registry.GetValue(HKEY_CURRENT_USER, "SOFTWARE\\Windows Modern\\App Installer", "Version", false);
g_lastpath = Registry.GetValue(HKEY_CURRENT_USER, "SOFTWARE\\Windows Modern\\App Installer", "AppPath", false);
g_lastuni = Registry.GetValue(HKEY_CURRENT_USER, "SOFTWARE\\Windows Modern\\App Installer", "Uninstall", false);
SessionVar.Set ("%InstallMode%", tostring (g_mode));
SessionVar.Set ("%LastVersion%", g_lastver);
SessionVar.Set ("%LastPath%", g_lastpath);
SessionVar.Set ("%LastUninstall%", g_lastuni);
if (g_mode == 1 or g_mode == 2) then
strInstallFolderPath = SessionVar.Expand ("%LastPath%");
SessionVar.Set ("%AppFolder%", strInstallFolderPath);
end
if (autoMode == true) then
Screen.Jump ("Ready to Install");
end
if (mode == 2 and autoMode == false) then
Screen.Jump ("Welcome to Update Setup");
end</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Back</Name>
<Args/>
<Script>-- These actions are performed when the Back button is clicked.
-- go back to the previous screen
Screen.Back();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Next</Name>
<Args/>
<Script>-- These actions are performed when the Next button is clicked.
-- advance to the next screen
-- Screen.Next();
Screen.Jump ("License Agreement")</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Cancel</Name>
<Args/>
<Script>-- These actions are performed when the Cancel button is clicked.
-- from _SUF70_Global_Functions.lua:
-- ask user if they're sure they want to exit
if g_ConfirmSetupAbort() then
Application.Exit(EXIT_REASON_USER_ABORTED);
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Help</Name>
<Args/>
<Script>-- These actions are performed when the Help button is clicked.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Ctrl Message</Name>
<Args>number e_CtrlID, number e_MsgID, table e_Details</Args>
<Script>-- These actions are triggered by the controls on the screen.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
</Events>
<Controls>
<Control>
<Type>1</Type>
<ID>103</ID>
<Visible>0</Visible>
<Enabled>0</Enabled>
<TabOrder>75</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>101</ID>
<Visible>1</Visible>
<Enabled>0</Enabled>
<TabOrder>76</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>100</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>77</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>102</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>78</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>2</Type>
<ID>200</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>1</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>2</Type>
<ID>300</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>0</TabOrder>
<IsHeading>1</IsHeading>
</Control>
</Controls>
<Languages>
<SUF70Messages>
<Language>
<Name>English</Name>
<Default>1</Default>
<Primary>9</Primary>
<Secondary>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
<ID>6</ID>
<ID>7</ID>
<ID>8</ID>
<ID>9</ID>
<ID>10</ID>
<ID>11</ID>
<ID>12</ID>
<ID>13</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% Setup</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>Welcome</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>Welcome to the installer for %ProductName% %ProductVer%</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>&amp;Next &gt;</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; &amp;Back</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>&amp;Cancel</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>&amp;Help</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_STATICTEXT_BODY>Welcome to the installer for %ProductName% %ProductVer%.
It is strongly recommended that you exit all Windows programs before continuing with this installation.
If you have any other programs running, please click Cancel, close the programs, and run this setup again.
Otherwise, click Next to continue.
</IDS_CTRL_STATICTEXT_BODY>
<IDS_CTRL_HEADINGTEXT_BODY>Welcome</IDS_CTRL_HEADINGTEXT_BODY>
</Messages>
</SUF70Messages>
<SUF70Messages>
<Language>
<Name>Chinese (Simplified)</Name>
<Default>0</Default>
<Primary>4</Primary>
<Secondary>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% 갛陋넋埼</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>뻑短</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>뻑短賈痰 %ProductName% %ProductVer% 갛陋넋埼</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>苟寧꼍(&amp;N) &gt;</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; 럿쀼(&amp;B)</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>혤句(&amp;C)</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>곤燎(&amp;H)</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_STATICTEXT_BODY>뻑短賈痰 %ProductName% %ProductVer% 갛陋넋埼。
퓻죠쉔累퀭瞳셨崎맡갛陋裂품,藁놔杰唐 Windows 넋埼。
흔벎퀭唐훨부페儉넋埼攣瞳頓契,헝데샌“혤句”,밑균넋埼,횔빈疼늴頓契맡갛陋넋埼。
뤠橙,헝데샌“苟寧꼍”셨崎。
</IDS_CTRL_STATICTEXT_BODY>
<IDS_CTRL_HEADINGTEXT_BODY>뻑短</IDS_CTRL_HEADINGTEXT_BODY>
</Messages>
</SUF70Messages>
</Languages>
</Screen>
<Screen>
<Type>100</Type>
<Name>Welcome to Update Setup</Name>
<BannerStyle>1</BannerStyle>
<TemplateName>Welcome to Setup</TemplateName>
<OverrideProjTheme>0</OverrideProjTheme>
<StyleData>
<CstClrs>0</CstClrs>
<TBBG format="hex">ffffff</TBBG>
<BDYBG format="hex">ece9d8</BDYBG>
<FTBG format="hex">ece9d8</FTBG>
<TBTXT format="hex">000000</TBTXT>
<BDYTXT format="hex">000000</BDYTXT>
<CBG format="hex">ffffff</CBG>
<C3DFACE format="hex">ece9d8</C3DFACE>
<C3DHLT format="hex">ece9d8</C3DHLT>
<C3DLIT format="hex">ffffff</C3DLIT>
<C3DSH format="hex">aca899</C3DSH>
<CBTNTXT format="hex">000000</CBTNTXT>
<CTEXT format="hex">000000</CTEXT>
<CDISTXT format="hex">aca899</CDISTXT>
<CPRGRS format="hex">316ac5</CPRGRS>
<C3DSHDK format="hex">716f64</C3DSHDK>
<TBIMG>Developer_top.jpg</TBIMG>
<SBIMG>Developer_side.jpg</SBIMG>
<BDIMG>Developer_body.jpg</BDIMG>
<BDFILL>0</BDFILL>
<HDSEP>0</HDSEP>
<FTSEP>1</FTSEP>
<CstFnts>0</CstFnts>
<Fonts>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-24</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</Fonts>
<CAOff>
<TP>0</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>1</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>2</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<TBTXTX>10</TBTXTX>
<TBTXTY>10</TBTXTY>
<ScreenW>497</ScreenW>
<ScreenH>362</ScreenH>
</StyleData>
<Events>
<Event>
<Name>On Preload</Name>
<Args/>
<Script>-- These actions are performed before the screen is shown.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Back</Name>
<Args/>
<Script>-- These actions are performed when the Back button is clicked.
-- go back to the previous screen
Screen.Back();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Next</Name>
<Args/>
<Script>-- These actions are performed when the Next button is clicked.
-- advance to the next screen
Screen.Next();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Cancel</Name>
<Args/>
<Script>-- These actions are performed when the Cancel button is clicked.
-- from _SUF70_Global_Functions.lua:
-- ask user if they're sure they want to exit
if g_ConfirmSetupAbort() then
Application.Exit(EXIT_REASON_USER_ABORTED);
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Help</Name>
<Args/>
<Script>-- These actions are performed when the Help button is clicked.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Ctrl Message</Name>
<Args>number e_CtrlID, number e_MsgID, table e_Details</Args>
<Script>-- These actions are triggered by the controls on the screen.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
</Events>
<Controls>
<Control>
<Type>1</Type>
<ID>103</ID>
<Visible>0</Visible>
<Enabled>0</Enabled>
<TabOrder>75</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>101</ID>
<Visible>1</Visible>
<Enabled>0</Enabled>
<TabOrder>76</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>100</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>77</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>102</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>78</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>2</Type>
<ID>200</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>1</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>2</Type>
<ID>300</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>0</TabOrder>
<IsHeading>1</IsHeading>
</Control>
</Controls>
<Languages>
<SUF70Messages>
<Language>
<Name>English</Name>
<Default>1</Default>
<Primary>9</Primary>
<Secondary>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
<ID>6</ID>
<ID>7</ID>
<ID>8</ID>
<ID>9</ID>
<ID>10</ID>
<ID>11</ID>
<ID>12</ID>
<ID>13</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% Update</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>Welcome</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>Welcome to the installer for %ProductName% %ProductVer%</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>&amp;Next &gt;</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; &amp;Back</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>&amp;Cancel</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>&amp;Help</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_STATICTEXT_BODY>Welcome to the %ProductName% %ProductVer% upgrade program.
It is strongly recommended that you exit all programs related to %ProductName% before continuing this installation.
If you have any other programs running, please click "Cancel" to close the program, and then run the installer again.
Otherwise, please click "Next" to continue.</IDS_CTRL_STATICTEXT_BODY>
<IDS_CTRL_HEADINGTEXT_BODY>Welcome</IDS_CTRL_HEADINGTEXT_BODY>
</Messages>
</SUF70Messages>
<SUF70Messages>
<Language>
<Name>Chinese (Simplified)</Name>
<Default>0</Default>
<Primary>4</Primary>
<Secondary>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% <20>섬넋埼</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>뻑短</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>뻑短賈痰 %ProductName% %ProductVer% 갛陋넋埼</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>苟寧꼍(&amp;N) &gt;</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; 럿쀼(&amp;B)</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>혤句(&amp;C)</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>곤燎(&amp;H)</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_STATICTEXT_BODY>뻑短賈痰 %ProductName% %ProductVer% <20>섬넋埼。
퓻죠쉔累퀭瞳셨崎맡갛陋裂품,藁놔 %ProductName% 宮밑돨杰唐넋埼。
흔벎퀭唐훨부페儉넋埼攣瞳頓契,헝데샌“혤句”,밑균넋埼,횔빈疼늴頓契맡갛陋넋埼。
뤠橙,헝데샌“苟寧꼍”셨崎。
</IDS_CTRL_STATICTEXT_BODY>
<IDS_CTRL_HEADINGTEXT_BODY>뻑短</IDS_CTRL_HEADINGTEXT_BODY>
</Messages>
</SUF70Messages>
</Languages>
</Screen>
<Screen>
<Type>125</Type>
<Name>License Agreement</Name>
<BannerStyle>2</BannerStyle>
<TemplateName>License Agreement</TemplateName>
<OverrideProjTheme>0</OverrideProjTheme>
<StyleData>
<CstClrs>0</CstClrs>
<TBBG format="hex">ffffff</TBBG>
<BDYBG format="hex">ece9d8</BDYBG>
<FTBG format="hex">ece9d8</FTBG>
<TBTXT format="hex">000000</TBTXT>
<BDYTXT format="hex">000000</BDYTXT>
<CBG format="hex">ffffff</CBG>
<C3DFACE format="hex">ece9d8</C3DFACE>
<C3DHLT format="hex">ece9d8</C3DHLT>
<C3DLIT format="hex">ffffff</C3DLIT>
<C3DSH format="hex">aca899</C3DSH>
<CBTNTXT format="hex">000000</CBTNTXT>
<CTEXT format="hex">000000</CTEXT>
<CDISTXT format="hex">aca899</CDISTXT>
<CPRGRS format="hex">316ac5</CPRGRS>
<C3DSHDK format="hex">716f64</C3DSHDK>
<TBIMG>Developer_top.jpg</TBIMG>
<SBIMG>Developer_side.jpg</SBIMG>
<BDIMG>Developer_body.jpg</BDIMG>
<BDFILL>0</BDFILL>
<HDSEP>0</HDSEP>
<FTSEP>1</FTSEP>
<CstFnts>0</CstFnts>
<Fonts>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-24</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</Fonts>
<CAOff>
<TP>0</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>1</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>2</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<TBTXTX>10</TBTXTX>
<TBTXTY>10</TBTXTY>
<ScreenW>497</ScreenW>
<ScreenH>362</ScreenH>
</StyleData>
<Checked>1</Checked>
<Events>
<Event>
<Name>On Preload</Name>
<Args/>
<Script>-- These actions are performed before the screen is shown.
-- from _SUF70_Global_Functions.lua:
-- disable the Next button unless 'I agree' is selected
g_LicenseAgreementScreen_UpdateNextButton();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Back</Name>
<Args/>
<Script>-- These actions are performed when the Back button is clicked.
-- go back to the previous screen
Screen.Back();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Next</Name>
<Args/>
<Script>-- These actions are performed when the Next button is clicked.
-- Tip: this is where you could add actions to validate the
-- user's input before proceeding
-- advance to the next screen
Screen.Next();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Cancel</Name>
<Args/>
<Script>-- These actions are performed when the Cancel button is clicked.
-- from _SUF70_Global_Functions.lua:
-- ask user if they're sure they want to exit
if g_ConfirmSetupAbort() then
Application.Exit(EXIT_REASON_USER_ABORTED);
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Help</Name>
<Args/>
<Script>-- These actions are performed when the Help button is clicked.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Ctrl Message</Name>
<Args>number e_CtrlID, number e_MsgID, table e_Details</Args>
<Script>-- These actions are triggered by the controls on the screen.
if (e_CtrlID == CTRL_RADIOBTN_AGREE or e_CtrlID == CTRL_RADIOBTN_DISAGREE) then
-- the control message is from one of the radio buttons
-- if it's a click message, update the Next button
if (e_MsgID == MSGID_CLICKED) then
-- from _SUF70_Global_Functions.lua:
-- disable the Next button unless 'I agree' is selected
g_LicenseAgreementScreen_UpdateNextButton();
end
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
</Events>
<Controls>
<Control>
<Type>1</Type>
<ID>103</ID>
<Visible>0</Visible>
<Enabled>0</Enabled>
<TabOrder>75</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>101</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>76</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>100</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>-10</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>102</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>-9</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>3</Type>
<ID>400</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>0</TabOrder>
<IsHTML>0</IsHTML>
<TextAlign>0</TextAlign>
<VertScroll>1</VertScroll>
<HorizScroll>0</HorizScroll>
<RTLReadingOrder>0</RTLReadingOrder>
<Style>1</Style>
<ReadOnly>1</ReadOnly>
<SpecifyType>1</SpecifyType>
<Variable/>
</Control>
<Control>
<Type>5</Type>
<ID>602</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>35</TabOrder>
<Group>1</Group>
<StartID>602</StartID>
<EndID>603</EndID>
</Control>
<Control>
<Type>5</Type>
<ID>603</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>40</TabOrder>
<Group>0</Group>
<StartID>602</StartID>
<EndID>603</EndID>
</Control>
</Controls>
<Languages>
<SUF70Messages>
<Language>
<Name>English</Name>
<Default>1</Default>
<Primary>9</Primary>
<Secondary>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
<ID>6</ID>
<ID>7</ID>
<ID>8</ID>
<ID>9</ID>
<ID>10</ID>
<ID>11</ID>
<ID>12</ID>
<ID>13</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% Setup</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>License Agreement</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>Please read the following license agreement carefully.</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>&amp;Next &gt;</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; &amp;Back</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>&amp;Cancel</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>&amp;Help</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_SCROLLTEXT_BODY>Insert your license agreement text here...</IDS_CTRL_SCROLLTEXT_BODY>
<IDS_CTRL_RADIOBTN_AGREE>I agree to the terms of this license agreement</IDS_CTRL_RADIOBTN_AGREE>
<IDS_CTRL_RADIOBTN_DISAGREE>I do not agree to the terms of this license agreement</IDS_CTRL_RADIOBTN_DISAGREE>
<IDS_CTRL_SCROLLTEXT_FILE/>
</Messages>
</SUF70Messages>
<SUF70Messages>
<Language>
<Name>Chinese (Simplified)</Name>
<Default>0</Default>
<Primary>4</Primary>
<Secondary>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% 갛陋넋埼</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>冀옵葵累</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>헝凌玖敦뗍鹿苟冀옵葵累。</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>苟寧꼍(&amp;N) &gt;</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; 럿쀼(&amp;B)</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>혤句(&amp;C)</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>곤燎(&amp;H)</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_SCROLLTEXT_BODY>瞳늪꿨흙퀭돨冀옵葵累匡굶...</IDS_CTRL_SCROLLTEXT_BODY>
<IDS_CTRL_RADIOBTN_AGREE>乖谿雷맡冀옵葵累돨係운</IDS_CTRL_RADIOBTN_AGREE>
<IDS_CTRL_RADIOBTN_DISAGREE>乖꼇谿雷맡冀옵葵累돨係운</IDS_CTRL_RADIOBTN_DISAGREE>
<IDS_CTRL_SCROLLTEXT_FILE/>
</Messages>
</SUF70Messages>
</Languages>
</Screen>
<Screen>
<Type>105</Type>
<Name>Scrolling Text</Name>
<BannerStyle>2</BannerStyle>
<TemplateName>Scrolling Text</TemplateName>
<OverrideProjTheme>0</OverrideProjTheme>
<StyleData>
<CstClrs>0</CstClrs>
<TBBG format="hex">ffffff</TBBG>
<BDYBG format="hex">ece9d8</BDYBG>
<FTBG format="hex">ece9d8</FTBG>
<TBTXT format="hex">000000</TBTXT>
<BDYTXT format="hex">000000</BDYTXT>
<CBG format="hex">ffffff</CBG>
<C3DFACE format="hex">ece9d8</C3DFACE>
<C3DHLT format="hex">ece9d8</C3DHLT>
<C3DLIT format="hex">ffffff</C3DLIT>
<C3DSH format="hex">aca899</C3DSH>
<CBTNTXT format="hex">000000</CBTNTXT>
<CTEXT format="hex">000000</CTEXT>
<CDISTXT format="hex">aca899</CDISTXT>
<CPRGRS format="hex">316ac5</CPRGRS>
<C3DSHDK format="hex">716f64</C3DSHDK>
<TBIMG>Developer_top.jpg</TBIMG>
<SBIMG>Developer_side.jpg</SBIMG>
<BDIMG>Developer_body.jpg</BDIMG>
<BDFILL>0</BDFILL>
<HDSEP>0</HDSEP>
<FTSEP>1</FTSEP>
<CstFnts>0</CstFnts>
<Fonts>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-24</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</Fonts>
<CAOff>
<TP>0</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>1</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>2</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<TBTXTX>10</TBTXTX>
<TBTXTY>10</TBTXTY>
<ScreenW>497</ScreenW>
<ScreenH>362</ScreenH>
</StyleData>
<Events>
<Event>
<Name>On Preload</Name>
<Args/>
<Script>-- These actions are performed before the screen is shown.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Back</Name>
<Args/>
<Script>-- These actions are performed when the Back button is clicked.
-- go back to the previous screen
Screen.Back();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Next</Name>
<Args/>
<Script>-- These actions are performed when the Next button is clicked.
-- advance to the next screen
g_mode = tonumber (SessionVar.Get ("%InstallMode%"));
if (g_mode == 1 or g_mode == 2) then
strInstallFolderPath = SessionVar.Expand ("%LastPath%");
SessionVar.Set ("%AppFolder%", strInstallFolderPath);
Screen.Jump ("Ready to Install");
else
Screen.Next();
end</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Cancel</Name>
<Args/>
<Script>-- These actions are performed when the Cancel button is clicked.
-- from _SUF70_Global_Functions.lua:
-- ask user if they're sure they want to exit
if g_ConfirmSetupAbort() then
Application.Exit(EXIT_REASON_USER_ABORTED);
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Help</Name>
<Args/>
<Script>-- These actions are performed when the Help button is clicked.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Ctrl Message</Name>
<Args>number e_CtrlID, number e_MsgID, table e_Details</Args>
<Script>-- These actions are triggered by the controls on the screen.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
</Events>
<Controls>
<Control>
<Type>1</Type>
<ID>103</ID>
<Visible>0</Visible>
<Enabled>0</Enabled>
<TabOrder>75</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>101</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>76</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>100</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>-10</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>102</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>-9</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>3</Type>
<ID>400</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>0</TabOrder>
<IsHTML>0</IsHTML>
<TextAlign>0</TextAlign>
<VertScroll>1</VertScroll>
<HorizScroll>0</HorizScroll>
<RTLReadingOrder>0</RTLReadingOrder>
<Style>1</Style>
<ReadOnly>1</ReadOnly>
<SpecifyType>1</SpecifyType>
<Variable/>
</Control>
</Controls>
<Languages>
<SUF70Messages>
<Language>
<Name>English</Name>
<Default>1</Default>
<Primary>9</Primary>
<Secondary>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
<ID>6</ID>
<ID>7</ID>
<ID>8</ID>
<ID>9</ID>
<ID>10</ID>
<ID>11</ID>
<ID>12</ID>
<ID>13</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% Setup</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>Important Information</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>Please read the following information.</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>&amp;Next &gt;</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; &amp;Back</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>&amp;Cancel</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>&amp;Help</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_SCROLLTEXT_BODY>This is currently in test mode, and this release is solely for testing the program's update features. While this version is available, the official release is still recommended.</IDS_CTRL_SCROLLTEXT_BODY>
<IDS_CTRL_SCROLLTEXT_FILE/>
</Messages>
</SUF70Messages>
<SUF70Messages>
<Language>
<Name>Chinese (Simplified)</Name>
<Default>0</Default>
<Primary>4</Primary>
<Secondary>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% 갛陋넋埼</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>路狼斤口</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>헝敦뗍鹿苟斤口。</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>苟寧꼍(&amp;N) &gt;</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; 럿쀼(&amp;B)</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>혤句(&amp;C)</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>곤燎(&amp;H)</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_SCROLLTEXT_BODY>뎠품角꿎桿친駕,랙契늪경굶쏭痰黨늪넋埼돨뫘劤묘콘꿎桿。祛횔늪경굶옵痰,뎃휄쉔累賈痰攣駕경굶。</IDS_CTRL_SCROLLTEXT_BODY>
<IDS_CTRL_SCROLLTEXT_FILE/>
</Messages>
</SUF70Messages>
</Languages>
</Screen>
<Screen>
<Type>110</Type>
<Name>Select Install Folder</Name>
<BannerStyle>2</BannerStyle>
<TemplateName>Select Install Folder</TemplateName>
<OverrideProjTheme>0</OverrideProjTheme>
<StyleData>
<CstClrs>0</CstClrs>
<TBBG format="hex">ffffff</TBBG>
<BDYBG format="hex">ece9d8</BDYBG>
<FTBG format="hex">ece9d8</FTBG>
<TBTXT format="hex">000000</TBTXT>
<BDYTXT format="hex">000000</BDYTXT>
<CBG format="hex">ffffff</CBG>
<C3DFACE format="hex">ece9d8</C3DFACE>
<C3DHLT format="hex">ece9d8</C3DHLT>
<C3DLIT format="hex">ffffff</C3DLIT>
<C3DSH format="hex">aca899</C3DSH>
<CBTNTXT format="hex">000000</CBTNTXT>
<CTEXT format="hex">000000</CTEXT>
<CDISTXT format="hex">aca899</CDISTXT>
<CPRGRS format="hex">316ac5</CPRGRS>
<C3DSHDK format="hex">716f64</C3DSHDK>
<TBIMG>Developer_top.jpg</TBIMG>
<SBIMG>Developer_side.jpg</SBIMG>
<BDIMG>Developer_body.jpg</BDIMG>
<BDFILL>0</BDFILL>
<HDSEP>0</HDSEP>
<FTSEP>1</FTSEP>
<CstFnts>0</CstFnts>
<Fonts>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-24</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</Fonts>
<CAOff>
<TP>0</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>1</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>2</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<TBTXTX>10</TBTXTX>
<TBTXTY>10</TBTXTY>
<ScreenW>497</ScreenW>
<ScreenH>362</ScreenH>
</StyleData>
<Variable>%AppFolder%</Variable>
<Events>
<Event>
<Name>On Preload</Name>
<Args/>
<Script>-- These actions are performed before the screen is shown.
-- calculate the amount of space required for the installation
_SpaceRequired = SetupData.CalculateRequiredSpace();
-- format it as a string with an appropriate unit of measurement (e.g. "0 bytes")
local strSpaceRequired = String.GetFormattedSize(_SpaceRequired);
-- store the string in a session variable so it can be used in the screen text
SessionVar.Set("%SpaceRequired%", strSpaceRequired);
-- from _SUF70_Global_Functions.lua:
-- update the 'Space required:' message (expands any session variables in it)
g_UpdateStaticTextCtrl(CTRL_STATICTEXT_SPACEREQUIRED, "IDS_CTRL_STATICTEXT_SPACEREQUIRED");
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Back</Name>
<Args/>
<Script>-- These actions are performed when the Back button is clicked.
-- go back to the previous screen
Screen.Back();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Next</Name>
<Args/>
<Script>-- These actions are performed when the Next button is clicked.
-- from _SUF70_Global_Functions.lua:
-- make sure the install folder path is formatted properly (i.e. is a valid UNC or DOS path string)
if(g_IsValidPath(strInstallFolderPath)) then
-- if there's enough space on the selected drive, proceed to the next screen
if(_SpaceAvailable &gt;= _SpaceRequired) then
-- there's enough space on the drive...so
-- proceed to the next screen
Screen.Next();
else
-- there isn't enough space on the drive...
-- from _SUF70_Global_Functions.lua:
-- ask the user if they want to continue anyway
if g_ConfirmFreeSpaceOverride() then
-- user said to install anyway...so
-- advance to the next screen
Screen.Next();
end
end
else
-- the install folder path isn't valid...
local strTitle = SetupData.GetLocalizedString("MSG_INVALID_ENTRY");
local strPrompt;
-- from _SUF70_Global_Functions.lua:
-- check whether the install folder path contains only valid path characters
if(g_ContainsValidPathChars(strInstallFolderPath)) then
-- the string is just formatted wrong
strPrompt = SetupData.GetLocalizedString("ERR_INVALID_PATH");
else
-- the string contains invalid characters
strPrompt = SetupData.GetLocalizedString("ERR_INVALID_CHARACTERS") .. "\r\n/ * ? \" &lt; &gt; |";
end
-- tell the user to smarten up :)
Dialog.Message(strTitle, strPrompt, MB_OK, MB_ICONEXCLAMATION);
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Cancel</Name>
<Args/>
<Script>-- These actions are performed when the Cancel button is clicked.
-- from _SUF70_Global_Functions.lua:
-- ask user if they're sure they want to exit
if g_ConfirmSetupAbort() then
Application.Exit(EXIT_REASON_USER_ABORTED);
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Help</Name>
<Args/>
<Script>-- These actions are performed when the Help button is clicked.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Ctrl Message</Name>
<Args>number e_CtrlID, number e_MsgID, table e_Details</Args>
<Script>-- These actions are triggered by the controls on the screen.
if(e_CtrlID == CTRL_BUTTON_BROWSE) then
-- the control message is from the browse button...
-- if it's a click message, show the browse dialog
-- and update the install folder
if (e_MsgID == MSGID_CLICKED) then
-- get the text from the label above the install folder field
-- (this will be used as the prompt on the Browse dialog)
local strPrompt = Screen.GetLocalizedString("IDS_CTRL_STATICTEXT_LABEL_01");
strPrompt = SessionVar.Expand(strPrompt);
-- from _SUF70_Global_Functions.lua:
-- display a folder browse dialog to change the path in the install folder field
g_EditFieldFolderBrowse(CTRL_EDIT_FOLDER, strPrompt);
end
end
if(e_CtrlID == CTRL_EDIT_FOLDER) then
-- the control message is from the install folder field...
-- if it's an OnChanged message (i.e. the installation path has changed)
-- recalculate the space available on the selected drive
if (e_MsgID == MSGID_ONCHANGED) then
strInstallFolderPath = e_Details.Text;
-- from _SUF70_Global_Functions.lua:
-- calculate the amount of disk space available on the selected drive
_SpaceAvailable = g_GetFreeSpaceInBytes(strInstallFolderPath);
-- set %SpaceAvailable% to a string with an appropriate unit of measurement (e.g. "0 bytes")
SessionVar.Set("%SpaceAvailable%", String.GetFormattedSize(_SpaceAvailable) );
-- from _SUF70_Global_Functions.lua:
-- update the 'Space available on selected drive:' message (expands any session variables in it)
g_UpdateStaticTextCtrl(CTRL_STATICTEXT_SPACEAVAILABLE, "IDS_CTRL_STATICTEXT_SPACEAVAILABLE");
end
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
</Events>
<Controls>
<Control>
<Type>1</Type>
<ID>103</ID>
<Visible>0</Visible>
<Enabled>0</Enabled>
<TabOrder>75</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>101</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>76</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>100</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>-10</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>102</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>-9</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>2</Type>
<ID>203</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>1</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>2</Type>
<ID>211</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>2</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>6</Type>
<ID>801</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>3</TabOrder>
<TextAlign>0</TextAlign>
<VertScroll>0</VertScroll>
<HorizScroll>0</HorizScroll>
<RTLReadingOrder>0</RTLReadingOrder>
<Style>0</Style>
<Mode>0</Mode>
<MaskReturnMode>1</MaskReturnMode>
<ReadOnly>0</ReadOnly>
<StartNewRow>1</StartNewRow>
<SizeColumns>4</SizeColumns>
<Variable>%AppFolder%</Variable>
</Control>
<Control>
<Type>1</Type>
<ID>110</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>4</TabOrder>
<FTButton>0</FTButton>
</Control>
<Control>
<Type>2</Type>
<ID>208</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>5</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>2</Type>
<ID>207</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>6</TabOrder>
<IsHeading>0</IsHeading>
</Control>
</Controls>
<Languages>
<SUF70Messages>
<Language>
<Name>English</Name>
<Default>1</Default>
<Primary>9</Primary>
<Secondary>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
<ID>6</ID>
<ID>7</ID>
<ID>8</ID>
<ID>9</ID>
<ID>10</ID>
<ID>11</ID>
<ID>12</ID>
<ID>13</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% Setup</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>Installation Folder</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>Where would you like %ProductName% to be installed?</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>&amp;Next &gt;</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; &amp;Back</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>&amp;Cancel</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>&amp;Help</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_BUTTON_BROWSE>C&amp;hange...</IDS_CTRL_BUTTON_BROWSE>
<IDS_CTRL_EDIT_FOLDER>%AppFolder%</IDS_CTRL_EDIT_FOLDER>
<IDS_CTRL_STATICTEXT_TOPINSTRUCTIONS>The software will be installed in the folder listed below. To select a different location, either type in a new path, or click Change to browse for an existing folder.</IDS_CTRL_STATICTEXT_TOPINSTRUCTIONS>
<IDS_CTRL_STATICTEXT_LABEL_01>Install %ProductName% to:</IDS_CTRL_STATICTEXT_LABEL_01>
<IDS_CTRL_STATICTEXT_SPACEREQUIRED>Space required: %SpaceRequired%</IDS_CTRL_STATICTEXT_SPACEREQUIRED>
<IDS_CTRL_STATICTEXT_SPACEAVAILABLE>Space available on selected drive: %SpaceAvailable%</IDS_CTRL_STATICTEXT_SPACEAVAILABLE>
</Messages>
</SUF70Messages>
<SUF70Messages>
<Language>
<Name>Chinese (Simplified)</Name>
<Default>0</Default>
<Primary>4</Primary>
<Secondary>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% 갛陋넋埼</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>갛陋匡숭셸</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>퀭拳쉥 %ProductName% 갛陋돕부뇹?</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>苟寧꼍(&amp;N) &gt;</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; 럿쀼(&amp;B)</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>혤句(&amp;C)</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>곤燎(&amp;H)</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_BUTTON_BROWSE>뫘맣(&amp;H)...</IDS_CTRL_BUTTON_BROWSE>
<IDS_CTRL_EDIT_FOLDER>%AppFolder%</IDS_CTRL_EDIT_FOLDER>
<IDS_CTRL_STATICTEXT_TOPINSTRUCTIONS>흡숭쉥굳갛陋돕鹿苟죗놔돨匡숭셸櫓。狼朞嶝꼇谿돨貫零,숩흙劤돨쨌쓺,샀데샌“뫘맣”啞응君唐돨匡숭셸。</IDS_CTRL_STATICTEXT_TOPINSTRUCTIONS>
<IDS_CTRL_STATICTEXT_LABEL_01>쉥 %ProductName% 갛陋돕:</IDS_CTRL_STATICTEXT_LABEL_01>
<IDS_CTRL_STATICTEXT_SPACEREQUIRED>杰矜왕쇌: %SpaceRequired%</IDS_CTRL_STATICTEXT_SPACEREQUIRED>
<IDS_CTRL_STATICTEXT_SPACEAVAILABLE>朞땍혜땡포돨옵痰왕쇌: %SpaceAvailable%</IDS_CTRL_STATICTEXT_SPACEAVAILABLE>
</Messages>
</SUF70Messages>
</Languages>
</Screen>
<Screen>
<Type>115</Type>
<Name>Select Shortcut Folder</Name>
<BannerStyle>2</BannerStyle>
<TemplateName>Select Shortcut Folder</TemplateName>
<OverrideProjTheme>0</OverrideProjTheme>
<StyleData>
<CstClrs>0</CstClrs>
<TBBG format="hex">ffffff</TBBG>
<BDYBG format="hex">ece9d8</BDYBG>
<FTBG format="hex">ece9d8</FTBG>
<TBTXT format="hex">000000</TBTXT>
<BDYTXT format="hex">000000</BDYTXT>
<CBG format="hex">ffffff</CBG>
<C3DFACE format="hex">ece9d8</C3DFACE>
<C3DHLT format="hex">ece9d8</C3DHLT>
<C3DLIT format="hex">ffffff</C3DLIT>
<C3DSH format="hex">aca899</C3DSH>
<CBTNTXT format="hex">000000</CBTNTXT>
<CTEXT format="hex">000000</CTEXT>
<CDISTXT format="hex">aca899</CDISTXT>
<CPRGRS format="hex">316ac5</CPRGRS>
<C3DSHDK format="hex">716f64</C3DSHDK>
<TBIMG>Developer_top.jpg</TBIMG>
<SBIMG>Developer_side.jpg</SBIMG>
<BDIMG>Developer_body.jpg</BDIMG>
<BDFILL>0</BDFILL>
<HDSEP>0</HDSEP>
<FTSEP>1</FTSEP>
<CstFnts>0</CstFnts>
<Fonts>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-24</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</Fonts>
<CAOff>
<TP>0</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>1</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>2</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<TBTXTX>10</TBTXTX>
<TBTXTY>10</TBTXTY>
<ScreenW>497</ScreenW>
<ScreenH>362</ScreenH>
</StyleData>
<NameVariable>%AppShortcutFolderName%</NameVariable>
<Events>
<Event>
<Name>On Preload</Name>
<Args/>
<Script>-- These actions are performed before the screen is shown.
-- select the appropriate user profile for the shortcuts
-- (per user or all users) based on _UsePerUserFolders
-- We only want to offer all user vs. per user on Windows NT 4.0/2000/XP+
local bHideUserProfileOptions = false;
local tblOS = System.GetOSVersionInfo();
if(tblOS)then
if(tblOS.PlatformId == "1")then
bHideUserProfileOptions = true;
-- Always use per user folders on Windows 95/98/ME
_UsePerUserFolders = true;
else
-- The OS is NT based.
-- If the setup is run from a system account, the per-user %StartProgramsFolder% path will be blank.
local strStartProgramsFolder = SessionVar.Expand("%StartProgramsFolder%");
if (strStartProgramsFolder == "") then
-- There is no-per user start menu folder. Use all-users instead.
bHideUserProfileOptions = true;
_UsePerUserFolders = false;
end
end
end
if(bHideUserProfileOptions)then
DlgRadioButton.SetProperties(CTRL_RADIOBTN_PERUSER,{Visible = false});
DlgRadioButton.SetProperties(CTRL_RADIOBTN_ALLUSERS,{Visible = false});
else
DlgRadioButton.SetProperties(CTRL_RADIOBTN_PERUSER,{Checked = _UsePerUserFolders});
DlgRadioButton.SetProperties(CTRL_RADIOBTN_ALLUSERS,{Checked = not _UsePerUserFolders});
end
-- from _SUF70_Global_Functions.lua:
-- fill the combo box with the existing shortcut folder names
g_FillComboBoxWithShortcutFolders(CTRL_COMBOBOX_SHORTCUTFOLDERS);
if (g_mode == 1 or g_mode == 2) then
Screen.Next ();
end</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Back</Name>
<Args/>
<Script>-- These actions are performed when the Back button is clicked.
-- go back to the previous screen
Screen.Back();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Next</Name>
<Args/>
<Script>-- These actions are performed when the Next button is clicked.
-- get the text from the combo box
strShortcutFolder = DlgComboBox.GetProperties(CTRL_COMBOBOX_SHORTCUTFOLDERS).Text;
-- if the shortcut folder path is empty, display a message
-- if it isn't empty, check for invalid characters and advance to the next screen
if String.Length(strShortcutFolder) == 0 then
-- the field is empty...
-- come on user, don't be shy :)
local strTitle = SetupData.GetLocalizedString("MSG_INVALID_ENTRY");
local strPrompt = SetupData.GetLocalizedString("ERR_FIELD_CANNOT_BE_EMPTY");
Dialog.Message(strTitle, strPrompt, MB_OK, MB_ICONEXCLAMATION);
else
-- the field's not empty...
-- make sure the shortcut folder path contains only valid characters for a relative path
if g_ContainsValidRelativePathChars(strShortcutFolder) then
-- advance to the next screen
Screen.Next();
else
-- the shortcut folder contains invalid characters
-- tell the user to smarten up :)
local strTitle = SetupData.GetLocalizedString("MSG_INVALID_ENTRY");
local strPrompt = SetupData.GetLocalizedString("ERR_INVALID_CHARACTERS") .. "\r\n/ * ? \" &lt; &gt; | :";
Dialog.Message(strTitle, strPrompt, MB_OK, MB_ICONEXCLAMATION);
end
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Cancel</Name>
<Args/>
<Script>-- These actions are performed when the Cancel button is clicked.
-- from _SUF70_Global_Functions.lua:
-- ask user if they're sure they want to exit
if g_ConfirmSetupAbort() then
Application.Exit(EXIT_REASON_USER_ABORTED);
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Help</Name>
<Args/>
<Script>-- These actions are performed when the Help button is clicked.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Ctrl Message</Name>
<Args>number e_CtrlID, number e_MsgID, table e_Details</Args>
<Script>-- These actions are triggered by the controls on the screen.
if (e_MsgID == MSGID_CLICKED) then
-- something was clicked...was it one of the radio buttons?
if (e_CtrlID == CTRL_RADIOBTN_PERUSER) then
-- the user selected the 'per-user' option on the screen...
-- turn the option on in the setup
_UsePerUserFolders = true;
-- update the list of shortcut folders in the combo box
g_FillComboBoxWithShortcutFolders(CTRL_COMBOBOX_SHORTCUTFOLDERS);
elseif (e_CtrlID == CTRL_RADIOBTN_ALLUSERS) then
-- the user selected the 'all-users' option on the screen...
-- turn the option off in the setup
_UsePerUserFolders = false;
-- update the list of shortcut folders in the combo box
g_FillComboBoxWithShortcutFolders(CTRL_COMBOBOX_SHORTCUTFOLDERS);
end
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
</Events>
<Controls>
<Control>
<Type>1</Type>
<ID>103</ID>
<Visible>0</Visible>
<Enabled>0</Enabled>
<TabOrder>75</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>101</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>76</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>100</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>-10</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>102</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>-9</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>2</Type>
<ID>203</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>0</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>2</Type>
<ID>211</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>1</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>4</Type>
<ID>501</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>2</TabOrder>
<Sorted>0</Sorted>
<ShowShortcutFolders>1</ShowShortcutFolders>
<PerUser>1</PerUser>
<Variable/>
<Lines>4</Lines>
<ComboType>1</ComboType>
</Control>
<Control>
<Type>5</Type>
<ID>600</ID>
<Visible>0</Visible>
<Enabled>0</Enabled>
<TabOrder>35</TabOrder>
<Group>1</Group>
<StartID>600</StartID>
<EndID>601</EndID>
</Control>
<Control>
<Type>5</Type>
<ID>601</ID>
<Visible>0</Visible>
<Enabled>0</Enabled>
<TabOrder>40</TabOrder>
<Group>0</Group>
<StartID>600</StartID>
<EndID>601</EndID>
</Control>
</Controls>
<Languages>
<SUF70Messages>
<Language>
<Name>English</Name>
<Default>1</Default>
<Primary>9</Primary>
<Secondary>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
<ID>6</ID>
<ID>7</ID>
<ID>8</ID>
<ID>9</ID>
<ID>10</ID>
<ID>11</ID>
<ID>12</ID>
<ID>13</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% Setup</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>Shortcut Folder</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>Where would you like the shortcuts to be installed?</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>&amp;Next &gt;</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; &amp;Back</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>&amp;Cancel</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>&amp;Help</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_STATICTEXT_TOPINSTRUCTIONS>The shortcut icons will be created in the folder indicated below. If you don't want to use the default folder, you can either type a new name, or select an existing folder from the list.</IDS_CTRL_STATICTEXT_TOPINSTRUCTIONS>
<IDS_CTRL_STATICTEXT_LABEL_01>Shortcut Folder:</IDS_CTRL_STATICTEXT_LABEL_01>
<IDS_CTRL_RADIOBTN_PERUSER>Install shortcuts for current user only</IDS_CTRL_RADIOBTN_PERUSER>
<IDS_CTRL_RADIOBTN_ALLUSERS>Make shortcuts available to all users</IDS_CTRL_RADIOBTN_ALLUSERS>
<IDS_CTRL_COMBOBOX_SHORTCUTFOLDERS>%AppShortcutFolderName%</IDS_CTRL_COMBOBOX_SHORTCUTFOLDERS>
</Messages>
</SUF70Messages>
<SUF70Messages>
<Language>
<Name>Chinese (Simplified)</Name>
<Default>0</Default>
<Primary>4</Primary>
<Secondary>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% 갛陋넋埼</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>우쌥렘駕匡숭셸</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>퀭拳쉥우쌥렘駕갛陋돕부뇹?</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>苟寧꼍(&amp;N) &gt;</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; 럿쀼(&amp;B)</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>혤句(&amp;C)</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>곤燎(&amp;H)</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_STATICTEXT_TOPINSTRUCTIONS>우쌥렘駕暠깃쉥瞳苟충寧놔돨匡숭셸櫓눼쉔。흔벎퀭꼇拳賈痰칵훰匡숭셸,퀭옵鹿숩흙劤돨츰냔,샀닒죗깊櫓朞嶝君唐돨匡숭셸。</IDS_CTRL_STATICTEXT_TOPINSTRUCTIONS>
<IDS_CTRL_STATICTEXT_LABEL_01>우쌥렘駕匡숭셸:</IDS_CTRL_STATICTEXT_LABEL_01>
<IDS_CTRL_RADIOBTN_PERUSER>怜뚤뎠품痰빵갛陋우쌥렘駕</IDS_CTRL_RADIOBTN_PERUSER>
<IDS_CTRL_RADIOBTN_ALLUSERS>賈우쌥렘駕뚤杰唐痰빵떼옵痰</IDS_CTRL_RADIOBTN_ALLUSERS>
<IDS_CTRL_COMBOBOX_SHORTCUTFOLDERS>%AppShortcutFolderName%</IDS_CTRL_COMBOBOX_SHORTCUTFOLDERS>
</Messages>
</SUF70Messages>
</Languages>
</Screen>
<Screen>
<Type>100</Type>
<Name>Ready to Install</Name>
<BannerStyle>2</BannerStyle>
<TemplateName>Ready to Install</TemplateName>
<OverrideProjTheme>0</OverrideProjTheme>
<StyleData>
<CstClrs>0</CstClrs>
<TBBG format="hex">ffffff</TBBG>
<BDYBG format="hex">ece9d8</BDYBG>
<FTBG format="hex">ece9d8</FTBG>
<TBTXT format="hex">000000</TBTXT>
<BDYTXT format="hex">000000</BDYTXT>
<CBG format="hex">ffffff</CBG>
<C3DFACE format="hex">ece9d8</C3DFACE>
<C3DHLT format="hex">ece9d8</C3DHLT>
<C3DLIT format="hex">ffffff</C3DLIT>
<C3DSH format="hex">aca899</C3DSH>
<CBTNTXT format="hex">000000</CBTNTXT>
<CTEXT format="hex">000000</CTEXT>
<CDISTXT format="hex">aca899</CDISTXT>
<CPRGRS format="hex">316ac5</CPRGRS>
<C3DSHDK format="hex">716f64</C3DSHDK>
<TBIMG>Developer_top.jpg</TBIMG>
<SBIMG>Developer_side.jpg</SBIMG>
<BDIMG>Developer_body.jpg</BDIMG>
<BDFILL>0</BDFILL>
<HDSEP>0</HDSEP>
<FTSEP>1</FTSEP>
<CstFnts>0</CstFnts>
<Fonts>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-24</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</Fonts>
<CAOff>
<TP>0</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>1</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>2</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<TBTXTX>10</TBTXTX>
<TBTXTY>10</TBTXTY>
<ScreenW>497</ScreenW>
<ScreenH>362</ScreenH>
</StyleData>
<Events>
<Event>
<Name>On Preload</Name>
<Args/>
<Script>-- These actions are performed before the screen is shown.
automodestr = SessionVar.Expand("%AutoInstallMode%");
automodestr = String.TrimLeft (String.TrimRight (String.Lower (automodestr)));
automode = automodestr == "true";
if (automode) then Screen.Next (); end</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Back</Name>
<Args/>
<Script>-- These actions are performed when the Back button is clicked.
-- go back to the previous screen
Screen.Back();</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Next</Name>
<Args/>
<Script>-- These actions are performed when the Next button is clicked.
-- advance to the next screen
Screen.Next();</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Cancel</Name>
<Args/>
<Script>-- These actions are performed when the Cancel button is clicked.
-- from _SUF70_Global_Functions.lua:
-- ask user if they're sure they want to exit
if g_ConfirmSetupAbort() then
Application.Exit(EXIT_REASON_USER_ABORTED);
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Help</Name>
<Args/>
<Script>-- These actions are performed when the Help button is clicked.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Ctrl Message</Name>
<Args>number e_CtrlID, number e_MsgID, table e_Details</Args>
<Script>-- These actions are triggered by the controls on the screen.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
</Events>
<Controls>
<Control>
<Type>1</Type>
<ID>103</ID>
<Visible>0</Visible>
<Enabled>0</Enabled>
<TabOrder>75</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>101</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>76</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>100</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>-10</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>102</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>-9</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>2</Type>
<ID>200</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>0</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>2</Type>
<ID>300</ID>
<Visible>0</Visible>
<Enabled>1</Enabled>
<TabOrder>1</TabOrder>
<IsHeading>1</IsHeading>
</Control>
</Controls>
<Languages>
<SUF70Messages>
<Language>
<Name>English</Name>
<Default>1</Default>
<Primary>9</Primary>
<Secondary>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
<ID>6</ID>
<ID>7</ID>
<ID>8</ID>
<ID>9</ID>
<ID>10</ID>
<ID>11</ID>
<ID>12</ID>
<ID>13</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% Setup</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>Ready to Install</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>You are now ready to install %ProductName% %ProductVer%</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>&amp;Next &gt;</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; &amp;Back</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>&amp;Cancel</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>&amp;Help</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_STATICTEXT_BODY>The installer now has enough information to install %ProductName% on your computer.
The following settings will be used:
Install folder: %AppFolder%
Shortcut folder: %AppShortcutFolderName%
Please click Next to proceed with the installation.</IDS_CTRL_STATICTEXT_BODY>
<IDS_CTRL_HEADINGTEXT_BODY>Title</IDS_CTRL_HEADINGTEXT_BODY>
</Messages>
</SUF70Messages>
<SUF70Messages>
<Language>
<Name>Chinese (Simplified)</Name>
<Default>0</Default>
<Primary>4</Primary>
<Secondary>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% 갛陋넋埼</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>硫구갛陋</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>君瞳퀭攣硫구갛陋 %ProductName% %ProductVer%</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>苟寧꼍(&amp;N) &gt;</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; 럿쀼(&amp;B)</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>혤句(&amp;C)</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>곤燎(&amp;H)</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_STATICTEXT_BODY>君瞳갛陋넋埼綠唐璃뭘돨斤口쉥 %ProductName% 갛陋돕퀭돨셕炬샙櫓。
쉥賈痰鹿苟<EFBFBD>零:
갛陋匡숭셸: %AppFolder%
우쌥렘駕匡숭셸: %AppShortcutFolderName%
헝데샌“苟寧꼍”셨崎갛陋。</IDS_CTRL_STATICTEXT_BODY>
<IDS_CTRL_HEADINGTEXT_BODY>깃痙</IDS_CTRL_HEADINGTEXT_BODY>
</Messages>
</SUF70Messages>
</Languages>
</Screen>
</BeforeInstallingScreens>
<DuringInstScreenData>
<ShowProgress>1</ShowProgress>
<Screens>
<Screen>
<Type>130</Type>
<Name>One Progress Bar (While Installing)</Name>
<BannerStyle>2</BannerStyle>
<TemplateName>One Progress Bar (While Installing)</TemplateName>
<OverrideProjTheme>0</OverrideProjTheme>
<StyleData>
<CstClrs>0</CstClrs>
<TBBG format="hex">ffffff</TBBG>
<BDYBG format="hex">ece9d8</BDYBG>
<FTBG format="hex">ece9d8</FTBG>
<TBTXT format="hex">000000</TBTXT>
<BDYTXT format="hex">000000</BDYTXT>
<CBG format="hex">ffffff</CBG>
<C3DFACE format="hex">ece9d8</C3DFACE>
<C3DHLT format="hex">ece9d8</C3DHLT>
<C3DLIT format="hex">ffffff</C3DLIT>
<C3DSH format="hex">aca899</C3DSH>
<CBTNTXT format="hex">000000</CBTNTXT>
<CTEXT format="hex">000000</CTEXT>
<CDISTXT format="hex">aca899</CDISTXT>
<CPRGRS format="hex">316ac5</CPRGRS>
<C3DSHDK format="hex">716f64</C3DSHDK>
<TBIMG>Developer_top.jpg</TBIMG>
<SBIMG>Developer_side.jpg</SBIMG>
<BDIMG>Developer_body.jpg</BDIMG>
<BDFILL>0</BDFILL>
<HDSEP>0</HDSEP>
<FTSEP>1</FTSEP>
<CstFnts>0</CstFnts>
<Fonts>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-24</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</Fonts>
<CAOff>
<TP>0</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>1</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>2</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<TBTXTX>10</TBTXTX>
<TBTXTY>10</TBTXTY>
<ScreenW>497</ScreenW>
<ScreenH>362</ScreenH>
</StyleData>
<IsWhileInstallingMode>1</IsWhileInstallingMode>
<Events>
<Event>
<Name>On Preload</Name>
<Args/>
<Script>-- These actions are performed before the screen is shown.
--[[if (mode == 1 or mode == 2) then
local unlnk = Registry.GetValue(HKEY_CURRENT_USER, "SOFTWARE\\Windows Modern\\App Installer", "Uninstall", false);
resulttest = Shell.Execute(unlnk, "open", "/S: /U:Uninstall/uninstall.xml", SessionVar.Expand ("%LastPath%"), SW_SHOWNORMAL, true);
-- Dialog.Message ("Test", "綠桿暠獵契菌潼,럿쀼:" .. tostring (resulttest));
end
]]
if (mode == 1 or mode == 2) then
-- 1. 삿혤菌潼쨌쓺,깻헌잿옵콘돨多뵀
local unlnk = Registry.GetValue(HKEY_CURRENT_USER, "SOFTWARE\\Windows Modern\\App Installer", "Uninstall", true);
unlnk = String.TrimRight(unlnk, "\"") -- 盧뇜쨌쓺좃똥돨多뵀
-- 2. 밑숩:쇱꿴菌潼넋埼匡숭角뤠닸瞳
local targetExePath = unlnk
if targetExePath ~= "" then
-- 2.1 쇱꿴角뤠槨.lnk우쌥렘駕깻끼桿썩驕廬茄커깃
if String.Lower(String.Right(targetExePath, 4)) == ".lnk" and _File.DoesExist(targetExePath) then
-- 끼桿삿혤.lnk匡숭寧蕨돨廬茄커깃
local shell = DLL.Load("shell32.dll")
local result, realPath = DLL.CallFunction(shell, "ShellExecuteA", "0,\"open\"," .. targetExePath .. ",\"\",\"\",0", DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL)
if realPath and realPath ~= "" and _File.DoesExist(realPath) then
targetExePath = realPath
end
DLL.Unload(shell)
end
-- 2.2 離老쇱꿴:커깃옵獵契匡숭角뤠닸瞳
if File.DoesExist(targetExePath) then
-- 3. 뭐쉔쓰칵菌潼꽝鑒
-- 鬧雷:覩덜쯤櫓돨 "/U:Uninstall/uninstall.xml" 쨌쓺롸몰륜쉔累固寧槨럽閨멎
local uninstallArgs = "/S: /U:Uninstall\\uninstall.xml"
local workingDir = SessionVar.Expand("%LastPath%")
-- 4. 獵契쓰칵菌潼(밑숩:賈痰 SW_HIDE 茶꾜눗왯true 깊刻된덤供냥)
-- 賈痰 File.Run 競덜 Shell.Execute 鹿삿돤뫘봤돨왠齡
resulttest = File.Run(targetExePath, uninstallArgs, workingDir, SW_HIDE, true)
Application.Sleep (1000);
-- (옵朞)휑羚션쩌,쏭痰黨딧桿
-- _LogFile.Message("쓰칵菌潼綠獵契,써벎쯤: " .. tostring(resulttest), LOG_INFO)
else
-- 匡숭꼇닸瞳,갛쓰뒈契법깻션쩌(렷쓰칵친駕옵옘쪄瓊刻)
-- _LogFile.Message("菌潼넋埼匡숭꼇닸瞳,契법菌潼: " .. targetExePath, LOG_WARNING)
end
end
-- 흔벎 unlnk 槨왕,橙갛쓰뒈契법菌潼
end</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Progress</Name>
<Args>number e_Stage, string e_CurrentItemText, number e_CurrentItemPct, number e_StagePct</Args>
<Script>-- These actions are performed whenever progress is made while the setup is installing files.
--[[
Note:
The file installation process is divided into 4 progress stages:
1. preparing to install
2. installing files
3. creating the uninstall
4. creating shortcuts
Each progress stage has a string in the project's language file(s)
that describes the stage, e.g. "Installing Files..." This makes
it possible for the progress text to be translated (along with
the other localized strings in the language files).
]]
-- get the appropriate string ID for the current stage's progress message...
local strStringID;
if(e_Stage == INSTALL_STAGE_PREPARING) then
strStringID = "MSG_PROG_PREPARING";
elseif(e_Stage == INSTALL_STAGE_INSTALLING_FILES) then
strStringID = "MSG_PROG_INSTALLING_FILES";
elseif(e_Stage == INSTALL_STAGE_CREATING_UNINSTALL) then
strStringID = "MSG_PROG_CREATING_UNINSTALL";
elseif(e_Stage == INSTALL_STAGE_CREATING_SHORTCUTS) then
strStringID = "MSG_PROG_CREATING_SHORTCUTS";
end
-- ...and get the corresponding string from the language file
local strStageMessage = SetupData.GetLocalizedString(strStringID);
-- update the progress prompt to show the current stage
DlgStaticText.SetProperties(CTRL_STATICTEXT_LABEL_01, {Text=strStageMessage});
-- if the current item is a file path, it might be too long to fit on the screen...
-- this next action will shorten the text to 72 characters if it contains at least one \ in it
local strAbbreviatedItemText = String.AbbreviateFilePath(e_CurrentItemText, 72);
-- update the status text to show the current item (e.g. the file being installed)
DlgStaticText.SetProperties(CTRL_STATICTEXT_LABEL_02, {Text=strAbbreviatedItemText});
-- update the progress bar
DlgProgressBar.SetPos(CTRL_PROGRESS_BAR_01, e_StagePct);
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Cancel</Name>
<Args/>
<Script>-- These actions are performed when the Cancel button is clicked.
-- from _SUF70_Global_Functions.lua:
-- ask user if they're sure they want to exit
if g_ConfirmSetupAbort() then
Application.Exit(EXIT_REASON_USER_ABORTED);
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
</Events>
<Controls>
<Control>
<Type>1</Type>
<ID>102</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>78</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>2</Type>
<ID>203</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>1</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>2</Type>
<ID>211</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>2</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>2</Type>
<ID>212</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>3</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>7</Type>
<ID>900</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>4</TabOrder>
<Style>0</Style>
<Min>0</Min>
<Max>100</Max>
<XPStyleBars>1</XPStyleBars>
</Control>
<Control>
<Type>2</Type>
<ID>213</ID>
<Visible>0</Visible>
<Enabled>1</Enabled>
<TabOrder>2</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>2</Type>
<ID>214</ID>
<Visible>0</Visible>
<Enabled>1</Enabled>
<TabOrder>3</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>7</Type>
<ID>901</ID>
<Visible>0</Visible>
<Enabled>1</Enabled>
<TabOrder>4</TabOrder>
<Style>0</Style>
<Min>0</Min>
<Max>100</Max>
<XPStyleBars>0</XPStyleBars>
</Control>
</Controls>
<Languages>
<SUF70Messages>
<Language>
<Name>English</Name>
<Default>1</Default>
<Primary>9</Primary>
<Secondary>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
<ID>6</ID>
<ID>7</ID>
<ID>8</ID>
<ID>9</ID>
<ID>10</ID>
<ID>11</ID>
<ID>12</ID>
<ID>13</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% Setup</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>Installing %ProductName%</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>Please wait...</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_CANCEL>&amp;Cancel</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_STATICTEXT_TOPINSTRUCTIONS/>
<IDS_CTRL_STATICTEXT_LABEL_01/>
<IDS_CTRL_STATICTEXT_LABEL_02/>
<IDS_CTRL_PROGRESS_BAR_01/>
<IDS_CTRL_STATICTEXT_LABEL_03>Progress Two</IDS_CTRL_STATICTEXT_LABEL_03>
<IDS_CTRL_STATICTEXT_LABEL_04>Performing Actions...</IDS_CTRL_STATICTEXT_LABEL_04>
<IDS_CTRL_PROGRESS_BAR_02/>
</Messages>
</SUF70Messages>
<SUF70Messages>
<Language>
<Name>Chinese (Simplified)</Name>
<Default>0</Default>
<Primary>4</Primary>
<Secondary>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% 갛陋넋埼</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>攣瞳갛陋 %ProductName%</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT><EFBFBD>빅...</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_CANCEL>혤句(&amp;C)</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_STATICTEXT_TOPINSTRUCTIONS/>
<IDS_CTRL_STATICTEXT_LABEL_01/>
<IDS_CTRL_STATICTEXT_LABEL_02/>
<IDS_CTRL_PROGRESS_BAR_01/>
<IDS_CTRL_STATICTEXT_LABEL_03>쏵넋랗</IDS_CTRL_STATICTEXT_LABEL_03>
<IDS_CTRL_STATICTEXT_LABEL_04>攣瞳獵契땡鱗...</IDS_CTRL_STATICTEXT_LABEL_04>
<IDS_CTRL_PROGRESS_BAR_02/>
</Messages>
</SUF70Messages>
</Languages>
</Screen>
</Screens>
</DuringInstScreenData>
<AfterInstallingScreens>
<Screen>
<Type>155</Type>
<Name>Scrolling Text Progress</Name>
<BannerStyle>2</BannerStyle>
<TemplateName>Scrolling Text Progress</TemplateName>
<OverrideProjTheme>0</OverrideProjTheme>
<StyleData>
<CstClrs>0</CstClrs>
<TBBG format="hex">ffffff</TBBG>
<BDYBG format="hex">ece9d8</BDYBG>
<FTBG format="hex">ece9d8</FTBG>
<TBTXT format="hex">000000</TBTXT>
<BDYTXT format="hex">000000</BDYTXT>
<CBG format="hex">ffffff</CBG>
<C3DFACE format="hex">ece9d8</C3DFACE>
<C3DHLT format="hex">ece9d8</C3DHLT>
<C3DLIT format="hex">ffffff</C3DLIT>
<C3DSH format="hex">aca899</C3DSH>
<CBTNTXT format="hex">000000</CBTNTXT>
<CTEXT format="hex">000000</CTEXT>
<CDISTXT format="hex">aca899</CDISTXT>
<CPRGRS format="hex">316ac5</CPRGRS>
<C3DSHDK format="hex">716f64</C3DSHDK>
<TBIMG>Developer_top.jpg</TBIMG>
<SBIMG>Developer_side.jpg</SBIMG>
<BDIMG>Developer_body.jpg</BDIMG>
<BDFILL>0</BDFILL>
<HDSEP>0</HDSEP>
<FTSEP>1</FTSEP>
<CstFnts>0</CstFnts>
<Fonts>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-24</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</Fonts>
<CAOff>
<TP>0</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>1</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>2</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<TBTXTX>10</TBTXTX>
<TBTXTY>10</TBTXTY>
<ScreenW>497</ScreenW>
<ScreenH>362</ScreenH>
</StyleData>
<IsWhileInstallingMode>0</IsWhileInstallingMode>
<Events>
<Event>
<Name>On Preload</Name>
<Args/>
<Script>-- These actions are performed before the screen is shown.</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Start</Name>
<Args/>
<Script>-- These actions are performed when the screen is shown.
-- Note: this is normally where you would put the actions
-- that you want this screen to perform (i.e. the
-- actions that you want to show the progress of).
-- Tip: use DlgScrollingText actions to display the current
-- status of your actions in the scrolling text control.
--
-- For example, use:
-- DlgScrollingText.AppendLine(CTRL_SCROLLTEXT_BODY, "Your text here");
-- ...to add a line of progress text.
DlgScrollingText.AppendLine(CTRL_SCROLLTEXT_BODY, "Installing the runtime libraries...");
File.Run(SessionVar.Expand("%TempLaunchFolder%\\runtime.exe"), "", "", SW_SHOWNORMAL, true);
DlgScrollingText.AppendLine(CTRL_SCROLLTEXT_BODY, "Registering the application...");
Registry.CreateKey(HKEY_CURRENT_USER, "SOFTWARE\\Windows Modern\\App Installer")
Registry.SetValue(HKEY_CURRENT_USER, "SOFTWARE\\Windows Modern\\App Installer", "", "", REG_SZ);
Registry.SetValue(HKEY_CURRENT_USER, "SOFTWARE\\Windows Modern\\App Installer", "Uninstall", SessionVar.Expand("%AppFolder%\\uninstall.exe"), REG_SZ);
Registry.SetValue(HKEY_CURRENT_USER, "SOFTWARE\\Windows Modern\\App Installer", "AppPath", SessionVar.Expand("%AppFolder%"), REG_SZ);
Registry.SetValue(HKEY_CURRENT_USER, "SOFTWARE\\Windows Modern\\App Installer", "Version", SessionVar.Expand("%ProductVer%"), REG_SZ);
Registry.SetValue(HKEY_CLASSES_ROOT, "Microsoft.DesktopAppInstaller", "", "Windows Store Application Package", REG_SZ);
Registry.SetValue(HKEY_CLASSES_ROOT, "Microsoft.DesktopAppInstaller\\Shell\\Open\\Command", "", SessionVar.Expand("\"%AppFolder%\\appinstaller.exe\" \"%1\""), REG_SZ);
Registry.SetValue(HKEY_CLASSES_ROOT, "Microsoft.DesktopAppInstaller\\DefaultIcon", "", SessionVar.Expand("%AppFolder%\\appinstaller.exe,2"), REG_SZ);
Registry.SetValue(HKEY_CLASSES_ROOT, "Applications\\AppInstaller.exe\\DefaultIcon", "", SessionVar.Expand("%AppFolder%\\appinstaller.exe,-136"), REG_SZ);
DlgScrollingText.AppendLine(CTRL_SCROLLTEXT_BODY, "Processing File Associations...");
Registry.SetValue(HKEY_CLASSES_ROOT, ".appx", "", "Microsoft.DesktopAppInstaller", REG_SZ);
Registry.SetValue(HKEY_CLASSES_ROOT, ".appxbundle", "", "Microsoft.DesktopAppInstaller", REG_SZ);
DlgScrollingText.AppendLine(CTRL_SCROLLTEXT_BODY, "Creating Shortcut...");
function CreateShortcut(lnkpath, targetfile, appid)
ret = File.Run(SessionVar.Expand("%AppFolder%\\shortcut.exe"), "\"" .. lnkpath .. "\" \"" .. targetfile .. "\" \"" .. appid .. "\"", "", SW_HIDE, true);
return ret;
end
CreateShortcut (SessionVar.Expand ("%StartProgramsFolderCommon%\\%AppShortcutFolderName%\\App Installer.lnk"), SessionVar.Expand("%AppFolder%\\appinstaller.exe"), "Microsoft.DesktopAppInstaller!App");
Registry.SetValue(HKEY_CURRENT_USER, "SOFTWARE\\Windows Modern\\App Installer", "AppInstallerLnk", SessionVar.Expand("%StartProgramsFolderCommon%\\%AppShortcutFolderName%\\App Installer.lnk"), REG_SZ);
CreateShortcut (SessionVar.Expand ("%StartProgramsFolderCommon%\\%AppShortcutFolderName%\\Settings.lnk"), SessionVar.Expand("%AppFolder%\\settings.exe"), "WindowsModern.PracticalToolsProject!Settings");
Registry.SetValue(HKEY_CURRENT_USER, "SOFTWARE\\Windows Modern\\App Installer", "SettingsLnk", SessionVar.Expand("%StartProgramsFolderCommon%\\%AppShortcutFolderName%\\Settings.lnk"), REG_SZ);
DlgScrollingText.AppendLine(CTRL_SCROLLTEXT_BODY, "Updating system PATH...");
local appFolder = SessionVar.Expand("%AppFolder%");
local pathKey = "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment";
local currentPath, pathType = Registry.GetValue(HKEY_LOCAL_MACHINE, pathKey, "Path", true);
currentPath = currentPath or ""
-- 쇱꿴쨌쓺角뤠綠닸瞳
if not string.find(";"..currentPath..";", ";"..appFolder..";", 1, true) then
local newPath = currentPath
if newPath ~= "" then
newPath = newPath .. ";" .. appFolder
else
newPath = appFolder
end
-- 뫘劤鬧꿍깊令깻괏넣覩唐잚謹
Registry.SetValue(HKEY_LOCAL_MACHINE, pathKey, "Path", newPath, pathType or REG_EXPAND_SZ)
-- 밤꺄뻔쓱긴좆뫘劤句口
DLL.CallFunction("Kernel32.dll", "SendMessageTimeout",
"HWND_BROADCAST,WM_SETTINGCHANGE,0,(LPARAM)\"Environment\",SMTO_ABORTIFHUNG,5000,NULL",
DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL)
end
automodestr = SessionVar.Expand("%AutoInstallMode%");
automodestr = String.TrimLeft (String.TrimRight (String.Lower (automodestr)));
automode = automodestr == "true";
if (automode) then
DlgScrollingText.AppendLine(CTRL_SCROLLTEXT_BODY, "Automatic installation has been completed.");
Application.Sleep(1000);
end</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Finish</Name>
<Args/>
<Script>-- These actions are performed right after the On Start actions.
-- advance to the next screen
Screen.Next();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Cancel</Name>
<Args/>
<Script>-- These actions are performed when the Cancel button is clicked.
-- from _SUF70_Global_Functions.lua:
-- ask user if they're sure they want to exit
if g_ConfirmSetupAbort() then
Application.Exit(EXIT_REASON_USER_ABORTED);
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
</Events>
<Controls>
<Control>
<Type>1</Type>
<ID>102</ID>
<Visible>1</Visible>
<Enabled>0</Enabled>
<TabOrder>-10</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>2</Type>
<ID>203</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>1</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>2</Type>
<ID>204</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>3</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>3</Type>
<ID>400</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>2</TabOrder>
<IsHTML>0</IsHTML>
<TextAlign>0</TextAlign>
<VertScroll>1</VertScroll>
<HorizScroll>0</HorizScroll>
<RTLReadingOrder>0</RTLReadingOrder>
<Style>1</Style>
<ReadOnly>1</ReadOnly>
<SpecifyType>1</SpecifyType>
<Variable/>
</Control>
</Controls>
<Languages>
<SUF70Messages>
<Language>
<Name>English</Name>
<Default>1</Default>
<Primary>9</Primary>
<Secondary>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
<ID>6</ID>
<ID>7</ID>
<ID>8</ID>
<ID>9</ID>
<ID>10</ID>
<ID>11</ID>
<ID>12</ID>
<ID>13</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% Setup</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>Performing Actions</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>Please wait...</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_CANCEL>&amp;Cancel</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_STATICTEXT_TOPINSTRUCTIONS>Please wait while the following actions are performed:</IDS_CTRL_STATICTEXT_TOPINSTRUCTIONS>
<IDS_CTRL_STATICTEXT_BOTTOMINSTRUCTIONS/>
<IDS_CTRL_SCROLLTEXT_BODY/>
</Messages>
</SUF70Messages>
<SUF70Messages>
<Language>
<Name>Chinese (Simplified)</Name>
<Default>0</Default>
<Primary>4</Primary>
<Secondary>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% 갛陋넋埼</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>攣瞳獵契땡鱗</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT><EFBFBD>빅...</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_CANCEL>혤句(&amp;C)</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_STATICTEXT_TOPINSTRUCTIONS><EFBFBD>攣瞳獵契鹿苟땡鱗:</IDS_CTRL_STATICTEXT_TOPINSTRUCTIONS>
<IDS_CTRL_STATICTEXT_BOTTOMINSTRUCTIONS/>
<IDS_CTRL_SCROLLTEXT_BODY/>
</Messages>
</SUF70Messages>
</Languages>
</Screen>
<Screen>
<Type>100</Type>
<Name>Finished Install</Name>
<BannerStyle>1</BannerStyle>
<TemplateName>Finished Install</TemplateName>
<OverrideProjTheme>0</OverrideProjTheme>
<StyleData>
<CstClrs>0</CstClrs>
<TBBG format="hex">ffffff</TBBG>
<BDYBG format="hex">ece9d8</BDYBG>
<FTBG format="hex">ece9d8</FTBG>
<TBTXT format="hex">000000</TBTXT>
<BDYTXT format="hex">000000</BDYTXT>
<CBG format="hex">ffffff</CBG>
<C3DFACE format="hex">ece9d8</C3DFACE>
<C3DHLT format="hex">ece9d8</C3DHLT>
<C3DLIT format="hex">ffffff</C3DLIT>
<C3DSH format="hex">aca899</C3DSH>
<CBTNTXT format="hex">000000</CBTNTXT>
<CTEXT format="hex">000000</CTEXT>
<CDISTXT format="hex">aca899</CDISTXT>
<CPRGRS format="hex">316ac5</CPRGRS>
<C3DSHDK format="hex">716f64</C3DSHDK>
<TBIMG>Developer_top.jpg</TBIMG>
<SBIMG>Developer_side.jpg</SBIMG>
<BDIMG>Developer_body.jpg</BDIMG>
<BDFILL>0</BDFILL>
<HDSEP>0</HDSEP>
<FTSEP>1</FTSEP>
<CstFnts>0</CstFnts>
<Fonts>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-24</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</Fonts>
<CAOff>
<TP>0</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>1</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>2</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<TBTXTX>10</TBTXTX>
<TBTXTY>10</TBTXTY>
<ScreenW>497</ScreenW>
<ScreenH>362</ScreenH>
</StyleData>
<Events>
<Event>
<Name>On Preload</Name>
<Args/>
<Script>-- These actions are performed before the screen is shown.
automodestr = SessionVar.Expand("%AutoInstallMode%");
automodestr = String.TrimLeft (String.TrimRight (String.Lower (automodestr)));
automode = automodestr == "true";
if (automode) then Application.Exit (); end</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Back</Name>
<Args/>
<Script>-- These actions are performed when the Back button is clicked.
-- go back to the previous screen
Screen.Back();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Next</Name>
<Args/>
<Script>-- These actions are performed when the Next button is clicked.
-- advance to the next screen
Screen.Next();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Cancel</Name>
<Args/>
<Script>-- These actions are performed when the Cancel button is clicked.
-- from _SUF70_Global_Functions.lua:
-- ask user if they're sure they want to exit
if g_ConfirmSetupAbort() then
Application.Exit(EXIT_REASON_USER_ABORTED);
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Help</Name>
<Args/>
<Script>-- These actions are performed when the Help button is clicked.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Ctrl Message</Name>
<Args>number e_CtrlID, number e_MsgID, table e_Details</Args>
<Script>-- These actions are triggered by the controls on the screen.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
</Events>
<Controls>
<Control>
<Type>1</Type>
<ID>103</ID>
<Visible>0</Visible>
<Enabled>0</Enabled>
<TabOrder>75</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>101</ID>
<Visible>1</Visible>
<Enabled>0</Enabled>
<TabOrder>76</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>100</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>-10</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>102</ID>
<Visible>1</Visible>
<Enabled>0</Enabled>
<TabOrder>-9</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>2</Type>
<ID>200</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>0</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>2</Type>
<ID>300</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>1</TabOrder>
<IsHeading>1</IsHeading>
</Control>
</Controls>
<Languages>
<SUF70Messages>
<Language>
<Name>English</Name>
<Default>1</Default>
<Primary>9</Primary>
<Secondary>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
<ID>6</ID>
<ID>7</ID>
<ID>8</ID>
<ID>9</ID>
<ID>10</ID>
<ID>11</ID>
<ID>12</ID>
<ID>13</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% Setup</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>Installation Finished</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>The installation has completed successfully.</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>&amp;Finish</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; &amp;Back</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>&amp;Cancel</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>&amp;Help</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_STATICTEXT_BODY>The %ProductName% %ProductVer% installation is complete.
Thank you for choosing %ProductName%!
Please click Finish to exit this installer.
</IDS_CTRL_STATICTEXT_BODY>
<IDS_CTRL_HEADINGTEXT_BODY>Installation Successful</IDS_CTRL_HEADINGTEXT_BODY>
</Messages>
</SUF70Messages>
<SUF70Messages>
<Language>
<Name>Chinese (Simplified)</Name>
<Default>0</Default>
<Primary>4</Primary>
<Secondary>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% 갛陋넋埼</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>갛陋綠供냥</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>갛陋綠냥묘供냥。</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>供냥(&amp;F)</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; 럿쀼(&amp;B)</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>혤句(&amp;C)</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>곤燎(&amp;H)</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_STATICTEXT_BODY>%ProductName% %ProductVer% 갛陋綠供냥。
먁剋퀭朞嶝 %ProductName%
헝데샌“供냥”藁놔맡갛陋넋埼。
</IDS_CTRL_STATICTEXT_BODY>
<IDS_CTRL_HEADINGTEXT_BODY>갛陋냥묘</IDS_CTRL_HEADINGTEXT_BODY>
</Messages>
</SUF70Messages>
</Languages>
</Screen>
</AfterInstallingScreens>
<Packages/>
<SerialLists>
<SerialListData>
<Name>List 1</Name>
<BuildConfigs>
<Cfg>All</Cfg>
</BuildConfigs>
<Serials/>
</SerialListData>
</SerialLists>
<UninstallData>
<CreateUninstall>1</CreateUninstall>
<CfgFile>uninstall.xml</CfgFile>
<UninstallFilesFolder>%AppFolder%\Uninstall</UninstallFilesFolder>
<UninstallEXELocation>%AppFolder%\uninstall.exe</UninstallEXELocation>
<AllowSilent>1</AllowSilent>
<StartSilent>0</StartSilent>
<ShowBGWindow>0</ShowBGWindow>
<MainWindowSettings>
<ShowBackGroundWindow>0</ShowBackGroundWindow>
<WindowStyle>0</WindowStyle>
<WindowAppearance>1</WindowAppearance>
<SolidBackColor format="hex">008080</SolidBackColor>
<GradientBackColor format="hex">b4c2e3</GradientBackColor>
<GradientForeColor format="hex">5971b6</GradientForeColor>
<ImageFile/>
<UseCustomIcon>0</UseCustomIcon>
<CustomIcon/>
<HideTaskbarIcon>0</HideTaskbarIcon>
<AlwaysOnTop>0</AlwaysOnTop>
<Headline>%ProductName% Uninstall</Headline>
<HeadingFont>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-37</Height>
<Weight>700</Weight>
<Italic>1</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</HeadingFont>
<HeadlineTextColor format="hex">ffffff</HeadlineTextColor>
<Headline3DColor format="hex">000000</Headline3DColor>
<HeadlineAlign>0</HeadlineAlign>
<Headline3d>1</Headline3d>
<SubHeading>v%ProductVer%</SubHeading>
<SubHeadingFont>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-18</Height>
<Weight>700</Weight>
<Italic>1</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</SubHeadingFont>
<SubHeadingTextColor format="hex">ffffff</SubHeadingTextColor>
<SubHeading3DColor format="hex">000000</SubHeading3DColor>
<SubHeadingAlign>0</SubHeadingAlign>
<SubHeading3d>1</SubHeading3d>
<Footer>%Copyright% %CompanyName%. All rights reserved. %CompanyURL%</Footer>
<FooterFont>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-16</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</FooterFont>
<FooterTextColor format="hex">ffffff</FooterTextColor>
<Footer3DColor format="hex">000000</Footer3DColor>
<FooterAlign>0</FooterAlign>
<Footer3d>1</Footer3d>
</MainWindowSettings>
<OverwriteDatFile>1</OverwriteDatFile>
<OverwriteCtrlPanel>1</OverwriteCtrlPanel>
<OverwriteSC>1</OverwriteSC>
<CreateCPEntry>1</CreateCPEntry>
<RegKeyName>Microsoft.DesktopAppInstaller</RegKeyName>
<CPDesc>%ProductName%</CPDesc>
<UseCustomCPIcon>1</UseCustomCPIcon>
<CustCPIconFN>%AppFolder%\appinstaller.exe</CustCPIconFN>
<CustCPIconIndex>1</CustCPIconIndex>
<CPSIPublisher>%CompanyName%</CPSIPublisher>
<CPSIPublisherURL>%CompanyURL%</CPSIPublisherURL>
<CPSIHelpContactName>%CompanyName% Support Department</CPSIHelpContactName>
<CPSIHelpURL>%CompanyURL%</CPSIHelpURL>
<CPSIProductVer>%ProductVer%</CPSIProductVer>
<CPSIRegOwner/>
<CPSIRegCompany/>
<CPSIUpdateInfoURL/>
<CPSIReadmeLink/>
<CPSIComments/>
<CPSIInstallLocation>%AppFolder%</CPSIInstallLocation>
<CPSIVersionMajor>0</CPSIVersionMajor>
<CPSIVersionMinor>1</CPSIVersionMinor>
<CreateAppFldSC>1</CreateAppFldSC>
<AppFldSCDesc>Uninstall</AppFldSCDesc>
<SCComment>Removes %ProductName% from your computer.</SCComment>
<UseCustomAppFldSCIcon>1</UseCustomAppFldSCIcon>
<AppFldCustomIconFN>%AppFolder%\uninstall_icon.ico</AppFldCustomIconFN>
<AppFolderSCIconIndex>0</AppFolderSCIconIndex>
<LFCreate>1</LFCreate>
<LFFilename>%TempFolder%\%ProductName% Uninstall Log.txt</LFFilename>
<LFCmdLineOverride>0</LFCmdLineOverride>
<LFWriteMode>0</LFWriteMode>
<LFActionDetailLevel>1</LFActionDetailLevel>
<BeforeScreens>
<Screen>
<Type>100</Type>
<Name>Welcome to Uninstall</Name>
<BannerStyle>1</BannerStyle>
<TemplateName>Welcome to Uninstall</TemplateName>
<OverrideProjTheme>0</OverrideProjTheme>
<StyleData>
<CstClrs>0</CstClrs>
<TBBG format="hex">ffffff</TBBG>
<BDYBG format="hex">ece9d8</BDYBG>
<FTBG format="hex">ece9d8</FTBG>
<TBTXT format="hex">000000</TBTXT>
<BDYTXT format="hex">000000</BDYTXT>
<CBG format="hex">ffffff</CBG>
<C3DFACE format="hex">ece9d8</C3DFACE>
<C3DHLT format="hex">ece9d8</C3DHLT>
<C3DLIT format="hex">ffffff</C3DLIT>
<C3DSH format="hex">aca899</C3DSH>
<CBTNTXT format="hex">000000</CBTNTXT>
<CTEXT format="hex">000000</CTEXT>
<CDISTXT format="hex">aca899</CDISTXT>
<CPRGRS format="hex">316ac5</CPRGRS>
<C3DSHDK format="hex">716f64</C3DSHDK>
<TBIMG>Developer_top.jpg</TBIMG>
<SBIMG>Developer_side.jpg</SBIMG>
<BDIMG>Developer_body.jpg</BDIMG>
<BDFILL>0</BDFILL>
<HDSEP>0</HDSEP>
<FTSEP>1</FTSEP>
<CstFnts>0</CstFnts>
<Fonts>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-24</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</Fonts>
<CAOff>
<TP>0</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>1</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>2</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<TBTXTX>10</TBTXTX>
<TBTXTY>10</TBTXTY>
<ScreenW>497</ScreenW>
<ScreenH>362</ScreenH>
</StyleData>
<Events>
<Event>
<Name>On Preload</Name>
<Args/>
<Script>-- These actions are performed before the screen is shown.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Back</Name>
<Args/>
<Script>-- These actions are performed when the Back button is clicked.
-- go back to the previous screen
Screen.Back();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Next</Name>
<Args/>
<Script>-- These actions are performed when the Next button is clicked.
-- advance to the next screen
Screen.Next();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Cancel</Name>
<Args/>
<Script>-- These actions are performed when the Cancel button is clicked.
-- from _SUF70_Global_Functions.lua:
-- ask user if they're sure they want to exit
if g_ConfirmSetupAbort() then
Application.Exit(EXIT_REASON_USER_ABORTED);
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Help</Name>
<Args/>
<Script>-- These actions are performed when the Help button is clicked.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Ctrl Message</Name>
<Args>number e_CtrlID, number e_MsgID, table e_Details</Args>
<Script>-- These actions are triggered by the controls on the screen.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
</Events>
<Controls>
<Control>
<Type>1</Type>
<ID>103</ID>
<Visible>0</Visible>
<Enabled>0</Enabled>
<TabOrder>75</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>101</ID>
<Visible>1</Visible>
<Enabled>0</Enabled>
<TabOrder>76</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>100</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>-10</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>102</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>-9</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>2</Type>
<ID>200</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>1</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>2</Type>
<ID>300</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>0</TabOrder>
<IsHeading>1</IsHeading>
</Control>
</Controls>
<Languages>
<SUF70Messages>
<Language>
<Name>English</Name>
<Default>1</Default>
<Primary>9</Primary>
<Secondary>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
<ID>6</ID>
<ID>7</ID>
<ID>8</ID>
<ID>9</ID>
<ID>10</ID>
<ID>11</ID>
<ID>12</ID>
<ID>13</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% Uninstaller</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>Welcome</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>Welcome to the uninstaller for %ProductName% %ProductVer%</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>&amp;Next &gt;</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; &amp;Back</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>&amp;Cancel</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>&amp;Help</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_STATICTEXT_BODY>This program will uninstall %ProductName% %ProductVer%.
If %ProductName% is currently running, please close it before proceeding with the uninstallation.
Otherwise, click Next to continue.
</IDS_CTRL_STATICTEXT_BODY>
<IDS_CTRL_HEADINGTEXT_BODY>Uninstall %ProductName%</IDS_CTRL_HEADINGTEXT_BODY>
</Messages>
</SUF70Messages>
<SUF70Messages>
<Language>
<Name>Chinese (Simplified)</Name>
<Default>0</Default>
<Primary>4</Primary>
<Secondary>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% 菌潼넋埼</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>뻑短</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>뻑短賈痰 %ProductName% %ProductVer% 菌潼넋埼</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>苟寧꼍(&amp;N) &gt;</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; 럿쀼(&amp;B)</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>혤句(&amp;C)</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>곤燎(&amp;H)</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_STATICTEXT_BODY>맡넋埼쉥菌潼 %ProductName% %ProductVer%。
흔벎 %ProductName% 뎠품攣瞳頓契,셨崎菌潼裂품헝쉥페밑균。
뤠橙,헝데샌“苟寧꼍”셨崎。
</IDS_CTRL_STATICTEXT_BODY>
<IDS_CTRL_HEADINGTEXT_BODY>菌潼 %ProductName%</IDS_CTRL_HEADINGTEXT_BODY>
</Messages>
</SUF70Messages>
</Languages>
</Screen>
</BeforeScreens>
<DuringInstScreenData>
<ShowProgress>1</ShowProgress>
<Screens>
<Screen>
<Type>130</Type>
<Name>One Progress Bar (While Uninstalling)</Name>
<BannerStyle>2</BannerStyle>
<TemplateName>One Progress Bar (While Uninstalling)</TemplateName>
<OverrideProjTheme>0</OverrideProjTheme>
<StyleData>
<CstClrs>0</CstClrs>
<TBBG format="hex">ffffff</TBBG>
<BDYBG format="hex">ece9d8</BDYBG>
<FTBG format="hex">ece9d8</FTBG>
<TBTXT format="hex">000000</TBTXT>
<BDYTXT format="hex">000000</BDYTXT>
<CBG format="hex">ffffff</CBG>
<C3DFACE format="hex">ece9d8</C3DFACE>
<C3DHLT format="hex">ece9d8</C3DHLT>
<C3DLIT format="hex">ffffff</C3DLIT>
<C3DSH format="hex">aca899</C3DSH>
<CBTNTXT format="hex">000000</CBTNTXT>
<CTEXT format="hex">000000</CTEXT>
<CDISTXT format="hex">aca899</CDISTXT>
<CPRGRS format="hex">316ac5</CPRGRS>
<C3DSHDK format="hex">716f64</C3DSHDK>
<TBIMG>Developer_top.jpg</TBIMG>
<SBIMG>Developer_side.jpg</SBIMG>
<BDIMG>Developer_body.jpg</BDIMG>
<BDFILL>0</BDFILL>
<HDSEP>0</HDSEP>
<FTSEP>1</FTSEP>
<CstFnts>0</CstFnts>
<Fonts>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-24</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</Fonts>
<CAOff>
<TP>0</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>1</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>2</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<TBTXTX>10</TBTXTX>
<TBTXTY>10</TBTXTY>
<ScreenW>497</ScreenW>
<ScreenH>362</ScreenH>
</StyleData>
<IsWhileInstallingMode>1</IsWhileInstallingMode>
<Events>
<Event>
<Name>On Preload</Name>
<Args/>
<Script>-- These actions are performed before the screen is shown.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Progress</Name>
<Args>number e_Stage, string e_CurrentItemText, number e_CurrentItemPct, number e_StagePct</Args>
<Script>-- These actions are performed whenever progress is made while the setup is uninstalling files.
--[[
Note:
The uninstallation process is divided into 2 progress stages:
1. removing files
2. removing shortcuts
Each progress stage has a string in the project's language file(s)
that describes the stage, e.g. "Removing Files..." This makes
it possible for the progress text to be translated (along with
the other localized strings in the language files).
]]
-- get the appropriate string ID for the current stage's progress message...
local strStringID;
if(e_Stage == UNINSTALL_STAGE_REMOVING_FILES) then
strStringID = "MSG_PROG_UNINSTALL_REMOVING_FILES";
elseif(e_Stage == UNINSTALL_STAGE_REMOVING_SHORTCUTS) then
strStringID = "MSG_PROG_UNINSTALL_REMOVING_SHORTCUTS";
end
-- ...and get the corresponding string from the language file
local strStageMessage = SetupData.GetLocalizedString(strStringID);
-- update the progress prompt to show the current stage
DlgStaticText.SetProperties(CTRL_STATICTEXT_LABEL_01, {Text=strStageMessage});
-- if the current item is a file path, it might be too long to fit on the screen...
-- this next action will shorten the text to 72 characters if it contains at least one \ in it
local strAbbreviatedItemText = String.AbbreviateFilePath(e_CurrentItemText, 72);
-- update the status text to show the current item (e.g. the file being removed)
DlgStaticText.SetProperties(CTRL_STATICTEXT_LABEL_02, {Text=strAbbreviatedItemText});
-- update the progress bar
DlgProgressBar.SetPos(CTRL_PROGRESS_BAR_01, e_StagePct);
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Cancel</Name>
<Args/>
<Script>-- These actions are performed when the Cancel button is clicked.
-- from _SUF70_Global_Functions.lua:
-- ask user if they're sure they want to exit
if g_ConfirmSetupAbort() then
Application.Exit(EXIT_REASON_USER_ABORTED);
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
</Events>
<Controls>
<Control>
<Type>1</Type>
<ID>102</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>78</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>2</Type>
<ID>203</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>1</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>2</Type>
<ID>211</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>2</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>2</Type>
<ID>212</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>3</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>7</Type>
<ID>900</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>4</TabOrder>
<Style>0</Style>
<Min>0</Min>
<Max>100</Max>
<XPStyleBars>1</XPStyleBars>
</Control>
<Control>
<Type>2</Type>
<ID>213</ID>
<Visible>0</Visible>
<Enabled>1</Enabled>
<TabOrder>2</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>2</Type>
<ID>214</ID>
<Visible>0</Visible>
<Enabled>1</Enabled>
<TabOrder>3</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>7</Type>
<ID>901</ID>
<Visible>0</Visible>
<Enabled>1</Enabled>
<TabOrder>4</TabOrder>
<Style>0</Style>
<Min>0</Min>
<Max>100</Max>
<XPStyleBars>0</XPStyleBars>
</Control>
</Controls>
<Languages>
<SUF70Messages>
<Language>
<Name>English</Name>
<Default>1</Default>
<Primary>9</Primary>
<Secondary>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
<ID>6</ID>
<ID>7</ID>
<ID>8</ID>
<ID>9</ID>
<ID>10</ID>
<ID>11</ID>
<ID>12</ID>
<ID>13</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% Uninstaller</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>Removing %ProductName%</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>Please wait...</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_CANCEL>&amp;Cancel</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_STATICTEXT_TOPINSTRUCTIONS/>
<IDS_CTRL_STATICTEXT_LABEL_01> </IDS_CTRL_STATICTEXT_LABEL_01>
<IDS_CTRL_STATICTEXT_LABEL_02> </IDS_CTRL_STATICTEXT_LABEL_02>
<IDS_CTRL_PROGRESS_BAR_01/>
<IDS_CTRL_STATICTEXT_LABEL_03>Progress Two</IDS_CTRL_STATICTEXT_LABEL_03>
<IDS_CTRL_STATICTEXT_LABEL_04>Performing Actions...</IDS_CTRL_STATICTEXT_LABEL_04>
<IDS_CTRL_PROGRESS_BAR_02/>
</Messages>
</SUF70Messages>
<SUF70Messages>
<Language>
<Name>Chinese (Simplified)</Name>
<Default>0</Default>
<Primary>4</Primary>
<Secondary>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% 菌潼넋埼</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>攣瞳盧뇜 %ProductName%</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT><EFBFBD>빅...</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_CANCEL>혤句(&amp;C)</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_STATICTEXT_TOPINSTRUCTIONS/>
<IDS_CTRL_STATICTEXT_LABEL_01> </IDS_CTRL_STATICTEXT_LABEL_01>
<IDS_CTRL_STATICTEXT_LABEL_02> </IDS_CTRL_STATICTEXT_LABEL_02>
<IDS_CTRL_PROGRESS_BAR_01/>
<IDS_CTRL_STATICTEXT_LABEL_03>쏵넋랗</IDS_CTRL_STATICTEXT_LABEL_03>
<IDS_CTRL_STATICTEXT_LABEL_04>攣瞳獵契땡鱗...</IDS_CTRL_STATICTEXT_LABEL_04>
<IDS_CTRL_PROGRESS_BAR_02/>
</Messages>
</SUF70Messages>
</Languages>
</Screen>
</Screens>
</DuringInstScreenData>
<AfterScreens>
<Screen>
<Type>100</Type>
<Name>Finished Uninstall</Name>
<BannerStyle>1</BannerStyle>
<TemplateName>Finished Uninstall</TemplateName>
<OverrideProjTheme>0</OverrideProjTheme>
<StyleData>
<CstClrs>0</CstClrs>
<TBBG format="hex">ffffff</TBBG>
<BDYBG format="hex">ece9d8</BDYBG>
<FTBG format="hex">ece9d8</FTBG>
<TBTXT format="hex">000000</TBTXT>
<BDYTXT format="hex">000000</BDYTXT>
<CBG format="hex">ffffff</CBG>
<C3DFACE format="hex">ece9d8</C3DFACE>
<C3DHLT format="hex">ece9d8</C3DHLT>
<C3DLIT format="hex">ffffff</C3DLIT>
<C3DSH format="hex">aca899</C3DSH>
<CBTNTXT format="hex">000000</CBTNTXT>
<CTEXT format="hex">000000</CTEXT>
<CDISTXT format="hex">aca899</CDISTXT>
<CPRGRS format="hex">316ac5</CPRGRS>
<C3DSHDK format="hex">716f64</C3DSHDK>
<TBIMG>Developer_top.jpg</TBIMG>
<SBIMG>Developer_side.jpg</SBIMG>
<BDIMG>Developer_body.jpg</BDIMG>
<BDFILL>0</BDFILL>
<HDSEP>0</HDSEP>
<FTSEP>1</FTSEP>
<CstFnts>0</CstFnts>
<Fonts>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-24</Height>
<Weight>700</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-13</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</Fonts>
<CAOff>
<TP>0</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>1</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<CAOff>
<TP>2</TP>
<L>15</L>
<T>15</T>
<R>15</R>
<B>15</B>
</CAOff>
<TBTXTX>10</TBTXTX>
<TBTXTY>10</TBTXTY>
<ScreenW>497</ScreenW>
<ScreenH>362</ScreenH>
</StyleData>
<Events>
<Event>
<Name>On Preload</Name>
<Args/>
<Script>-- These actions are performed before the screen is shown.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Back</Name>
<Args/>
<Script>-- These actions are performed when the Back button is clicked.
-- go back to the previous screen
Screen.Back();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Next</Name>
<Args/>
<Script>-- These actions are performed when the Next button is clicked.
-- advance to the next screen
Screen.Next();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Cancel</Name>
<Args/>
<Script>-- These actions are performed when the Cancel button is clicked.
-- from _SUF70_Global_Functions.lua:
-- ask user if they're sure they want to exit
if g_ConfirmSetupAbort() then
Application.Exit(EXIT_REASON_USER_ABORTED);
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Help</Name>
<Args/>
<Script>-- These actions are performed when the Help button is clicked.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Ctrl Message</Name>
<Args>number e_CtrlID, number e_MsgID, table e_Details</Args>
<Script>-- These actions are triggered by the controls on the screen.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
</Events>
<Controls>
<Control>
<Type>1</Type>
<ID>103</ID>
<Visible>0</Visible>
<Enabled>0</Enabled>
<TabOrder>75</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>101</ID>
<Visible>1</Visible>
<Enabled>0</Enabled>
<TabOrder>76</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>100</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>-10</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>1</Type>
<ID>102</ID>
<Visible>1</Visible>
<Enabled>0</Enabled>
<TabOrder>-9</TabOrder>
<FTButton>1</FTButton>
</Control>
<Control>
<Type>2</Type>
<ID>200</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>0</TabOrder>
<IsHeading>0</IsHeading>
</Control>
<Control>
<Type>2</Type>
<ID>300</ID>
<Visible>1</Visible>
<Enabled>1</Enabled>
<TabOrder>1</TabOrder>
<IsHeading>1</IsHeading>
</Control>
</Controls>
<Languages>
<SUF70Messages>
<Language>
<Name>English</Name>
<Default>1</Default>
<Primary>9</Primary>
<Secondary>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
<ID>6</ID>
<ID>7</ID>
<ID>8</ID>
<ID>9</ID>
<ID>10</ID>
<ID>11</ID>
<ID>12</ID>
<ID>13</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% Uninstaller</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>Uninstallation Finished</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>The uninstallation has completed successfully.</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>&amp;Finish</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; &amp;Back</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>&amp;Cancel</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>&amp;Help</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_STATICTEXT_BODY>%ProductName% %ProductVer% has been uninstalled.
Please click Finish to exit.
</IDS_CTRL_STATICTEXT_BODY>
<IDS_CTRL_HEADINGTEXT_BODY>Uninstallation Successful</IDS_CTRL_HEADINGTEXT_BODY>
</Messages>
</SUF70Messages>
<SUF70Messages>
<Language>
<Name>Chinese (Simplified)</Name>
<Default>0</Default>
<Primary>4</Primary>
<Secondary>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
</Secondary>
</Language>
<Messages>
<IDS_WINDOW_TITLE>%ProductName% 菌潼넋埼</IDS_WINDOW_TITLE>
<IDS_HEADER_TEXT>菌潼綠供냥</IDS_HEADER_TEXT>
<IDS_SUBHEADER_TEXT>菌潼綠냥묘供냥。</IDS_SUBHEADER_TEXT>
<IDS_CTRL_BUTTON_NEXT>供냥(&amp;F)</IDS_CTRL_BUTTON_NEXT>
<IDS_CTRL_BUTTON_BACK>&lt; 럿쀼(&amp;B)</IDS_CTRL_BUTTON_BACK>
<IDS_CTRL_BUTTON_CANCEL>혤句(&amp;C)</IDS_CTRL_BUTTON_CANCEL>
<IDS_CTRL_BUTTON_HELP>곤燎(&amp;H)</IDS_CTRL_BUTTON_HELP>
<IDS_CTRL_STATICTEXT_BODY>%ProductName% %ProductVer% 綠굳菌潼。
헝데샌“供냥”藁놔。
</IDS_CTRL_STATICTEXT_BODY>
<IDS_CTRL_HEADINGTEXT_BODY>菌潼냥묘</IDS_CTRL_HEADINGTEXT_BODY>
</Messages>
</SUF70Messages>
</Languages>
</Screen>
</AfterScreens>
<Events>
<Event>
<Name>瞳폘땡珂</Name>
<Args/>
<Script/>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Pre Uninstall</Name>
<Args/>
<Script>hkey = HKEY_CURRENT_USER;
key = "Software\\Windows Modern";
keynext = "App Installer";
appinstallerlnkpath = Registry.GetValue(HKEY_CURRENT_USER, "SOFTWARE\\Windows Modern\\App Installer", "AppInstallerLnk", false);
settingslnkpath = Registry.GetValue(HKEY_CURRENT_USER, "SOFTWARE\\Windows Modern\\App Installer", "SettingsLnk", false);
File.Delete(appinstallerlnkpath, true, false, false);
File.Delete(settingslnkpath, true, false, false);
Registry.DeleteKey(HKEY_CLASSES_ROOT, ".appx");
Registry.DeleteKey(HKEY_CLASSES_ROOT, ".appxbundle");
Registry.DeleteKey(HKEY_CLASSES_ROOT, ".msix");
Registry.DeleteKey(HKEY_CLASSES_ROOT, ".msixbundle");
Registry.DeleteKey(HKEY_CLASSES_ROOT, "Microsoft.DesktopAppInstaller");
local appFolder = SessionVar.Expand("%AppFolder%");
local pathKey = "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment";
local currentPath, pathType = Registry.GetValue(HKEY_LOCAL_MACHINE, pathKey, "Path", true);
if currentPath then
local paths = {}
-- 롸몇PATH깻법쫀뎠품壇痰커쩌
for path in string.gmatch(currentPath, "[^;]+") do
if path ~= appFolder then
table.insert(paths, path)
end
end
local newPath = table.concat(paths, ";")
-- 쏭뎠쨌쓺랙<EC93BA>긴뺏珂뫘劤
if newPath ~= currentPath then
Registry.SetValue(HKEY_LOCAL_MACHINE, pathKey, "Path", newPath, pathType or REG_EXPAND_SZ)
-- 밤꺄뻔쓱긴좆뫘劤句口
DLL.CallFunction("Kernel32.dll", "SendMessageTimeout",
"HWND_BROADCAST,WM_SETTINGCHANGE,0,(LPARAM)\"Environment\",SMTO_ABORTIFHUNG,5000,NULL",
DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL)
end
end
Registry.DeleteKey (hkey, key .. "\\" .. keynext);
Registry.DeleteKey (hkey, key);</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Uninstall Error</Name>
<Args>number e_ErrorCode, string e_ErrorMsgID</Args>
<Script>-- These actions are performed is an error occurs while the setup is uninstalling files.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Post Uninstall</Name>
<Args/>
<Script/>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>瞳밑균珂</Name>
<Args/>
<Script>
-- Call this function at the end after all other On Shutdown actions.
-- This will cause the system to be rebooted, if needed.
-- Defined in _SUF70_Global_Functions.lua
-- Do not edit this script unless you know what your are doing
g_HandleSystemReboot();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
</Events>
</UninstallData>
<ProjectData>
<LogFile>
<Create>1</Create>
<Filename>%TempFolder%\%ProductName% Setup Log.txt</Filename>
<WriteMode>0</WriteMode>
<ActionDetailLevel>1</ActionDetailLevel>
</LogFile>
<EnableSilentMode>0</EnableSilentMode>
<StartInSilentMode>0</StartInSilentMode>
<VerifyArchive>0</VerifyArchive>
<UserProfile>1</UserProfile>
<UserPrivilegeLevel>2</UserPrivilegeLevel>
<MainWindowSettings>
<ShowBackGroundWindow>0</ShowBackGroundWindow>
<WindowStyle>0</WindowStyle>
<WindowAppearance>1</WindowAppearance>
<SolidBackColor format="hex">008080</SolidBackColor>
<GradientBackColor format="hex">b4c2e3</GradientBackColor>
<GradientForeColor format="hex">5971b6</GradientForeColor>
<ImageFile/>
<UseCustomIcon>1</UseCustomIcon>
<CustomIcon>%TempLaunchFolder%\main.ico</CustomIcon>
<HideTaskbarIcon>0</HideTaskbarIcon>
<AlwaysOnTop>0</AlwaysOnTop>
<Headline>%ProductName%</Headline>
<HeadingFont>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-37</Height>
<Weight>700</Weight>
<Italic>1</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</HeadingFont>
<HeadlineTextColor format="hex">ffffff</HeadlineTextColor>
<Headline3DColor format="hex">000000</Headline3DColor>
<HeadlineAlign>0</HeadlineAlign>
<Headline3d>1</Headline3d>
<SubHeading>v%ProductVer%</SubHeading>
<SubHeadingFont>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-18</Height>
<Weight>700</Weight>
<Italic>1</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</SubHeadingFont>
<SubHeadingTextColor format="hex">ffffff</SubHeadingTextColor>
<SubHeading3DColor format="hex">000000</SubHeading3DColor>
<SubHeadingAlign>0</SubHeadingAlign>
<SubHeading3d>1</SubHeading3d>
<Footer>%Copyright%. All rights reserved. %CompanyURL%</Footer>
<FooterFont>
<FontData>
<FontName>Arial</FontName>
<CharacterSet>0</CharacterSet>
<Height>-16</Height>
<Weight>400</Weight>
<Italic>0</Italic>
<Underline>0</Underline>
<StrikeOut>0</StrikeOut>
<AntiAlias>1</AntiAlias>
</FontData>
</FooterFont>
<FooterTextColor format="hex">ffffff</FooterTextColor>
<Footer3DColor format="hex">000000</Footer3DColor>
<FooterAlign>0</FooterAlign>
<Footer3d>1</Footer3d>
</MainWindowSettings>
<SetupExpiration>
<ExpireByDate>0</ExpireByDate>
<DateMethod>0</DateMethod>
<NumDaysBld>30</NumDaysBld>
<NumDaysRun>30</NumDaysRun>
<AbortNotWriteDFR>1</AbortNotWriteDFR>
<ExpireDate>1767105338</ExpireDate>
<TellUserDate>0</TellUserDate>
<ExpireByUses>0</ExpireByUses>
<UsesMethod>1</UsesMethod>
<NumUsesUser>1</NumUsesUser>
<NumUsesSystem>2</NumUsesSystem>
<AbortNotWritable>1</AbortNotWritable>
<TellUserUses>0</TellUserUses>
<UniqueKey>03F9811E-4657-4757-A24D-570C64F8ABB6</UniqueKey>
<ShowContactInfo>0</ShowContactInfo>
<ContactName>%CompanyName%</ContactName>
<ContactURL>%CompanyURL%</ContactURL>
<ContactEmail/>
<ContactPhone/>
</SetupExpiration>
<SetupRequirements>
<OSCond>
<OS>32768</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>0</OS>
<OS>0</OS>
<OS>0</OS>
<OS>0</OS>
<OS>0</OS>
<OS>0</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
<OS>65535</OS>
</OSCond>
<ScreenWidth>0</ScreenWidth>
<ScreenHeight>0</ScreenHeight>
<ColorDepth>0</ColorDepth>
<RAM>0</RAM>
<AdminReq>1</AdminReq>
<Action>0</Action>
</SetupRequirements>
<Launcher/>
<ProjectTheme>Developer</ProjectTheme>
<ProjFileDesc>New Project</ProjFileDesc>
<ProjFileAuthor/>
<ProjFileCompany/>
<ProjFileNotes/>
<ProjFileCopyright>Copyright 2025 </ProjFileCopyright>
<ProjFileURL/>
<ProjFileEmail/>
<ProjFileCreatedVer>9.5.3.0</ProjFileCreatedVer>
<ProjFileSavedVer>9.5.3.0</ProjFileSavedVer>
<BaseFolderArchive>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\shared</BaseFolderArchive>
<BaseFolderExternal/>
<UseSkinFile>0</UseSkinFile>
<SkinFilename/>
<SkinSubStyle/>
<ActionPlugins/>
<DependencyModules/>
<PrimerFiles>
<PrimerFile>
<SourcePath>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\appinstaller\res\icons\main.ico</SourcePath>
<DeleteOnExit>1</DeleteOnExit>
<NeededByUninstall>0</NeededByUninstall>
<BuildConfigs>
<Cfg>All</Cfg>
</BuildConfigs>
</PrimerFile>
<PrimerFile>
<SourcePath>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\others\runtime.exe</SourcePath>
<DeleteOnExit>1</DeleteOnExit>
<NeededByUninstall>0</NeededByUninstall>
<BuildConfigs>
<Cfg>All</Cfg>
</BuildConfigs>
</PrimerFile>
</PrimerFiles>
<Events>
<Event>
<Name>홍애변鑒</Name>
<Args/>
<Script>
function CompareVersion(verstrl, verstrr)
return String.CompareFileVersions (verstrl, verstrr);
end
-- ============================================
-- 변鑒ParseSetupArgs
-- 췄甘:썩驕藤퓻돨갛陋넋埼츱즈契꽝鑒
-- 럿쀼:
-- isAutoMode (boolean): 角뤠槨菱땡/쓰칵친駕
-- customInstallPath (string or nil): 菱땍屢돨갛陋쨌쓺(供憐샀샘黨/to
-- showHelp (boolean): 角뤠鞫刻곤燎斤口
-- ============================================
function ParseSetupArgs()
local args = _CommandLineArgs or {}
local isAutoMode = false
local customInstallPath = nil
local showHelp = false
local pathParamUsed = nil -- 션쩌賈痰돨角컴몸쨌쓺꽝鑒,痰黨곤燎斤口
-- 連넣돨菱땡친駕꽝鑒죗깊(꼇혐롸댕鬼畇)
local autoModeFlags = {
"/S", "/SILENT", "/PASSIVE", "/QUIET", "/AUTO",
"-S", "-SILENT", "-PASSIVE", "-QUIET", "-AUTO",
"S", "SILENT", "PASSIVE", "QUIET", "AUTO" -- 轟품留
}
-- 連넣돨곤燎꽝鑒죗깊
local helpFlags = {
"/?", "/HELP", "/H",
"-?", "-HELP", "-H",
"?", "HELP", "H"
}
local i = 1
while i &lt;= #args do
local arg = args[i]
local argUpper = String.Upper(arg)
local argFound = false
-- 1. 쇱꿴角뤠槨菱땡친駕꽝鑒
for _, flag in ipairs(autoModeFlags) do
if argUpper == String.Upper(flag) then
isAutoMode = true
argFound = true
break
end
end
-- 2. 쇱꿴角뤠槨곤燎꽝鑒
if not argFound then
for _, flag in ipairs(helpFlags) do
if argUpper == String.Upper(flag) then
showHelp = true
argFound = true
break
end
end
end
-- 3. 쇱꿴角뤠槨쨌쓺꽝鑒 (/to 샀 /dir)
-- 뇹잿잚慨 /to:"D:\" 샀 /dir:"C:\NewPath" 돨목駕
if not argFound then
if String.Left(argUpper, 4) == "/TO:" or
String.Left(argUpper, 4) == "-TO:" or
(String.Left(argUpper, 3) == "TO:" and #arg &gt; 3) then
-- 瓊혤쨌쓺꼬롸(혼딜꽝鑒품留)
local prefixLen = arg:find(":", 1, true) or 3
local rawPath = String.Mid(arg, prefixLen + 1)
-- 혼딜옵콘관범돨多뵀
rawPath = String.Trim(rawPath, "\"")
rawPath = String.Trim(rawPath, "'")
if rawPath ~= "" then
pathParamUsed = "/TO"
-- /TO쭉서쏭맣긴혜땡포샀<ED8FAC>섬커쩌괏즛칵훰돨칫棺匡숭셸츰
local defaultPath = SessionVar.Expand("%ProgramFiles%") .. "\\MyApp"
local defaultFolderName = String.GetRightFrom(defaultPath, "\\")
if defaultFolderName then
-- 횅괏쨌쓺鹿럽閨멎써棺,疼틈쌈匡숭셸츰
if not String.Right(rawPath, 1) == "\\" then
rawPath = rawPath .. "\\"
end
customInstallPath = rawPath .. defaultFolderName
else
customInstallPath = rawPath -- 쀼藁렘갭
end
end
argFound = true
elseif String.Left(argUpper, 5) == "/DIR:" or
String.Left(argUpper, 5) == "-DIR:" or
(String.Left(argUpper, 4) == "DIR:" and #arg &gt; 4) then
local prefixLen = arg:find(":", 1, true) or 4
local rawPath = String.Mid(arg, prefixLen + 1)
rawPath = String.Trim(rawPath, "\"")
rawPath = String.Trim(rawPath, "'")
if rawPath ~= "" then
pathParamUsed = "/DIR"
-- /DIR쭉서殮쌈賈痰痰빵瓊묩돨供憐쨌쓺
customInstallPath = rawPath
end
argFound = true
end
end
-- 4. 뇹잿“꽝鑒츰”뵨“왕목롸몰돨令”돨목駕(흔 /to "D:\"
if not argFound then
if argUpper == "/TO" or argUpper == "-TO" or argUpper == "TO" then
pathParamUsed = "/TO"
if i + 1 &lt;= #args then
local nextArg = args[i + 1]
if not String.Left(nextArg, 1) == "/" and not String.Left(nextArg, 1) == "-" then
local rawPath = nextArg
rawPath = String.Trim(rawPath, "\"")
rawPath = String.Trim(rawPath, "'")
-- 壇痰宅<E797B0>렘宮谿돨 /TO 쭉서뭐쉔쨌쓺
local defaultPath = SessionVar.Expand("%ProgramFiles%") .. "\\MyApp"
local defaultFolderName = String.GetRightFrom(defaultPath, "\\")
if defaultFolderName then
if not String.Right(rawPath, 1) == "\\" then
rawPath = rawPath .. "\\"
end
customInstallPath = rawPath .. defaultFolderName
end
i = i + 1 -- 띨棍句봬寧몸꽝鑒鱗槨令
end
end
argFound = true
elseif argUpper == "/DIR" or argUpper == "-DIR" or argUpper == "DIR" then
pathParamUsed = "/DIR"
if i + 1 &lt;= #args then
local nextArg = args[i + 1]
if not String.Left(nextArg, 1) == "/" and not String.Left(nextArg, 1) == "-" then
customInstallPath = String.Trim(nextArg, "\"")
customInstallPath = String.Trim(customInstallPath, "'")
i = i + 1
end
end
argFound = true
end
end
i = i + 1
end
return isAutoMode, customInstallPath, showHelp, pathParamUsed
end
-- ============================================
-- 변鑒ShowHelpAndExit
-- 췄甘:鞫刻꽝鑒곤燎斤口깻藁놔갛陋넋埼
-- ============================================
function ShowHelpAndExit()
local helpText = [[
MyApp Installer - 츱즈契꽝鑒곤燎
菱땡갛陋친駕 (轟썹충샀굳땡갛陋):
/S, /SILENT, /QUIET, /PASSIVE, /AUTO
-S, -SILENT, -QUIET, -PASSIVE, -AUTO
(冷連넣轟품留목駕,흔 SILENT)
寧땍갛陋쨌쓺:
1. 賈痰 /TO 꽝鑒 - 뫘맣갛陋돨몽貫零,뎃괏즛칵훰匡숭셸츰냔。
刻절: /TO:"D:\"
갛陋돕: D:\MyApp\ (솝<>칵훰갛陋돕 C:\Program Files\MyApp)
刻절: /TO "D:\MyCompany"
갛陋돕: D:\MyCompany\MyApp\
2. 賈痰 /DIR 꽝鑒 - 寧땍供憐돨菱땍屢갛陋쨌쓺。
刻절: /DIR:"D:\MyApp Custom"
갛陋돕: D:\MyApp Custom\
刻절: /dir "C:\Program Files\Another Name"
鬧雷:쨌쓺흼관벵왕목,헝賈痰崗多뵀관범。
鞫刻늪곤燎:
/?, /HELP, /H, -?, -HELP, -H, ?, HELP, H
賈痰刻절:
setup.exe /S /TO:"D:\" // 쓰칵갛陋돕D턍
setup.exe /DIR:"C:\My App" /S // 쓰칵갛陋돕菱땍屢커쩌
setup.exe /TO D:\ /PASSIVE // 굳땡친駕갛陋돕D턍
]]
-- 瞳句口움櫓鞫刻곤燎(흔벎角슥빳친駕)
Dialog.Message("갛陋넋埼츱즈契곤燎", helpText, MB_OK, MB_ICONINFORMATION)
-- 藁놔갛陋넋埼
Application.Exit()
end
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>瞳폘땡珂</Name>
<Args/>
<Script/>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>瞳갛陋품</Name>
<Args/>
<Script/>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>On Install Error</Name>
<Args>number e_ErrorCode, string e_ErrorMsgID</Args>
<Script>-- These actions are performed is an error occurs while the setup is installing files.
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>瞳갛陋빈</Name>
<Args/>
<Script> -- Do something here, they are not equal
--Imported from REG file: E:\Profiles\Bruce\Desktop\App Installer.reg
-- DlgScrollingText.AppendLine(CTRL_SCROLLTEXT_BODY, "Registing...");
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
<Event>
<Name>瞳밑균珂</Name>
<Args/>
<Script>
-- Call this function at the end after all other On Shutdown actions.
-- This will cause the system to be rebooted, if needed.
-- Defined in _SUF70_Global_Functions.lua
-- Do not edit this script unless you know what your are doing
g_HandleSystemReboot();
</Script>
<BookMarks count="0">
</BookMarks>
</Event>
</Events>
</ProjectData>
<LangSettings>
<Language>
<Name>English</Name>
<Default>1</Default>
<Primary>9</Primary>
<Secondary>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
<ID>6</ID>
<ID>7</ID>
<ID>8</ID>
<ID>9</ID>
<ID>10</ID>
<ID>11</ID>
<ID>12</ID>
<ID>13</ID>
</Secondary>
</Language>
<Language>
<Name>Chinese (Simplified)</Name>
<Default>0</Default>
<Primary>4</Primary>
<Secondary>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
</Secondary>
</Language>
</LangSettings>
<SUF7SessionVars>
<SessionVar>
<Name>%ProductName%</Name>
<Value>Desktop App Installer</Value>
<Type>1</Type>
</SessionVar>
<SessionVar>
<Name>%CompanyName%</Name>
<Value>Windows Modern</Value>
<Type>1</Type>
</SessionVar>
<SessionVar>
<Name>%ProductVer%</Name>
<Value>0.1.0.0</Value>
<Type>1</Type>
</SessionVar>
<SessionVar>
<Name>%Copyright%</Name>
<Value>Copyright (C)2025 %CompanyName%</Value>
<Type>1</Type>
</SessionVar>
<SessionVar>
<Name>%CompanyURL%</Name>
<Value/>
<Type>1</Type>
</SessionVar>
<SessionVar>
<Name>%WindowTitle%</Name>
<Value>%ProductName% Setup</Value>
<Type>1</Type>
</SessionVar>
<SessionVar>
<Name>%WindowTitleUninstall%</Name>
<Value>%ProductName% Uninstaller</Value>
<Type>1</Type>
</SessionVar>
<SessionVar>
<Name>%AppFolder%</Name>
<Value>%ProgramFilesFolder%\%ProductName%</Value>
<Type>2</Type>
</SessionVar>
<SessionVar>
<Name>%AppShortcutFolderName%</Name>
<Value>%ProductName%</Value>
<Type>2</Type>
</SessionVar>
</SUF7SessionVars>
<BuildConfigurations>
<BuildConfig>
<Name>Default</Name>
<PreBuildProg/>
<PreBuildCmdLine/>
<PreBuildWait>0</PreBuildWait>
<PostBuildProg/>
<PostBuildCmdLine/>
<PostBuildWait>0</PostBuildWait>
<Filename>InstallerSetup.exe</Filename>
<OutputFolder>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Generated</OutputFolder>
<SegmentSizeMode>0</SegmentSizeMode>
<CustomSegSize>0</CustomSegSize>
<CustomSegSizeMode>0</CustomSegSizeMode>
<Platform>0</Platform>
<CollectLaunchUserInfo>0</CollectLaunchUserInfo>
<CodeSignSetups>0</CodeSignSetups>
<CodeSignLocation/>
<CodeSignWithSHA256>1</CodeSignWithSHA256>
<CodeSignCertificateFileSHA256/>
<CodeSignCertificatePasswordSHA256>
</CodeSignCertificatePasswordSHA256>
<CodeSignTimeStampURLSHA256/>
<CodeSignArgumentsSHA256/>
<CodeSignWithSHA1>1</CodeSignWithSHA1>
<CodeSignTimeStampURLSHA1/>
<CodeSignArgumentsSHA1/>
<CodeSignSHA1CertificateToUse>0</CodeSignSHA1CertificateToUse>
<CodeSignCertificateFileSHA1/>
<CodeSignCertificatePasswordSHA1>
</CodeSignCertificatePasswordSHA1>
<CodeSignDescription/>
<CodeSignDescriptionURL/>
<UseCustomIcon>1</UseCustomIcon>
<CustomIconFile>E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\appinstaller\res\icons\main.ico</CustomIconFile>
<ResourceFileVersion>9.5.3.0</ResourceFileVersion>
<ResourceProductVersion>9.5.3.0</ResourceProductVersion>
<ResourceCompanyName>Indigo Rose Corporation</ResourceCompanyName>
<ResourceProductName>Setup Factory Runtime</ResourceProductName>
<ResourceComments>Created with Setup Factory</ResourceComments>
<ResourceInternalName>sf_rt</ResourceInternalName>
<ResourceFileDescription>Setup Application</ResourceFileDescription>
<ResourceCopyright>Setup Engine Copyright ?1992-2019 Indigo Rose Corporation</ResourceCopyright>
<ResourceTrademarks>Setup Factory is a trademark of Indigo Rose Corporation</ResourceTrademarks>
<ResourcePrivateBuild/>
<ResourceSpecialBuild/>
<StampResources>0</StampResources>
<CompressionType CompressionSetting="LZMA2_HIGH" DictionarySize="24" WordSize="32" CPUThreads="2"/>
<Vars/>
</BuildConfig>
</BuildConfigurations>
<GlobalScriptIncludes>
<GlobalIncludeScriptFile>
<Filename>#SUFDIR#\Includes\Scripts\_SUF70_Global_Functions.lua</Filename>
<IRReq>1</IRReq>
<BuildConfigs>
<Cfg>All</Cfg>
</BuildConfigs>
</GlobalIncludeScriptFile>
</GlobalScriptIncludes>
</DocumentData>