@@ -108,7 +108,7 @@ TOSDSettings = class(TPersistent)
108108 amSelectable);
109109
110110 // marker for add installers
111- TKnownInstaller = (stWinget,stMsixAppx, stWise,
111+ TKnownInstaller = (stWinget, stMsixAppx, stWise,
112112 stQtInstaller,
113113 stSetupFactory,
114114 stInstallAnywhere,
@@ -203,8 +203,10 @@ TSetupFile = class(TPersistent)
203203 // Fwinbatch_del_argument: string;
204204 FinstallCommandLine: string; // command line to install the software
205205 FuninstallCommandLine: string; // command line to uninstall the software
206- FinstallCommandStringEx: string; // String expression for prim section to install the software
207- FuninstallCommandStringEx: string; // String expression for prim section to uninstall the software
206+ FinstallCommandStringEx: string;
207+ // String expression for prim section to install the software
208+ FuninstallCommandStringEx: string;
209+ // String expression for prim section to uninstall the software
208210 FuninstallProg: string; // path + name of the uninstall.prog
209211 FuninstallDirectory: string; // dir of the uninstall.prog
210212 FtargetProg: string;
@@ -277,17 +279,18 @@ TSetupFile = class(TPersistent)
277279 read FisExitcodeFatalFunction write FisExitcodeFatalFunction;
278280 property uninstallCommandLine: string read FuninstallCommandLine
279281 write FuninstallCommandLine;
280- property installCommandStringEx: string read FinstallCommandStringEx
281- write FinstallCommandStringEx;
282- property uninstallCommandStringEx: string read FuninstallCommandStringEx
283- write FuninstallCommandStringEx;
282+ property installCommandStringEx: string
283+ read FinstallCommandStringEx write FinstallCommandStringEx;
284+ property uninstallCommandStringEx: string
285+ read FuninstallCommandStringEx write FuninstallCommandStringEx;
284286
285287 property uninstallProg: string read FuninstallProg write SetUninstallProg;
286288 property uninstallDirectory: string read FuninstallDirectory
287289 write SetUninstallDirectory;
288290 property targetProg: string read FtargetProg write SetTargetProg;
289291 property uninstallCheck: TStrings read FuninstallCheck write SetUninstallCheck;
290- property optionalUninstallLines: TStrings read FoptionalUninstallLines write SetOptionalUninstallLines;
292+ property optionalUninstallLines: TStrings
293+ read FoptionalUninstallLines write SetOptionalUninstallLines;
291294 property uninstall_waitforprocess: string
292295 read Funinstall_waitforprocess write Funinstall_waitforprocess;
293296 property install_waitforprocess: string
@@ -553,7 +556,7 @@ TConfiguration = class(TPersistent)
553556 Fdependencies_for_all_actionrequests: boolean;
554557 // since opsi 4.3 dependecies are allowed for all action requests
555558 FpreferMsiUninstall: boolean; // true=prefer uninstall via msi if possible
556- FwriteMetaDataFile : boolean; // true=write opsi-meta-data.toml file
559+ FwriteMetaDataFile: boolean; // true=write opsi-meta-data.toml file
557560 procedure SetLibraryLines (const AValue: TStrings);
558561 procedure SetPreInstallLines (const AValue: TStrings);
559562 procedure SetPostInstallLines (const AValue: TStrings);
@@ -817,21 +820,24 @@ procedure reload_installer_info_messages;
817820 LineEnding + ' You may use this msi as install file.' + LineEnding +
818821 ' You may perhaps also pass the msi parameters as arguments to your setup.exe.' ;
819822 mdInstallerInfo_MsixAppx =
820- ' ## This is a Msix / Appx / AppxBundle / MsixBundle file.' + LineEnding +
821- ' This kind of packages may be installed via powershell.' + LineEnding +
822- LineEnding + ' In order to check for the dependecies of this package' + LineEnding +
823- ' and if this package is aviable from MS store,' + LineEnding +
824- LineEnding + ' then you may use the following web site to check and download' + LineEnding +
825- LineEnding + ' missing packages: ' + LineEnding +
823+ ' ## This is a Msix / Appx / AppxBundle / MsixBundle file.' +
824+ LineEnding + ' This kind of packages may be installed via powershell.' +
825+ LineEnding + LineEnding + ' In order to check for the dependecies of this package' +
826+ LineEnding + ' and if this package is aviable from MS store,' +
827+ LineEnding + LineEnding +
828+ ' then you may use the following web site to check and download' +
829+ LineEnding + LineEnding + ' missing packages: ' + LineEnding +
826830 LineEnding + ' <https://store.rg-adguard.net/>' + LineEnding +
827- LineEnding + ' There also is often a problem with the uninstallation.' + LineEnding +
828- LineEnding + ' So the use of the "uninstall_before_install" checkbox is recommended.' ;
831+ LineEnding + ' There also is often a problem with the uninstallation.' +
832+ LineEnding + LineEnding +
833+ ' So the use of the "uninstall\_before\_install" checkbox is recommended.' ;
829834 mdInstallerInfo_winget =
830835 ' ## Making a winget based package.' + LineEnding + LineEnding +
831- ' You need to know the winget Id and Source of the software to install.' + LineEnding +
832- LineEnding + ' A tool that may help you to find this data is:' + LineEnding + LineEnding +
833- ' UniGetUI (formerly WingetUI), The Graphical Interface for your package managers' + LineEnding + LineEnding +
834- ' <https://www.marticliment.com/unigetui/>' ;
836+ ' You need to know the winget Id and Source of the software to install.' +
837+ LineEnding + LineEnding + ' A tool that may help you to find this data is:' +
838+ LineEnding + LineEnding +
839+ ' UniGetUI (formerly WingetUI), The Graphical Interface for your package managers' +
840+ LineEnding + LineEnding + ' <https://www.marticliment.com/unigetui/>' ;
835841 // marker for add installers
836842
837843implementation
@@ -1588,17 +1594,27 @@ procedure TopsiProduct.readProjectFile(filename: string);
15881594 if jsonIsValid(JSONString) then
15891595 begin
15901596 jsonAsObjectGetValueByKey(JSONString, ' Items' , JSONString);
1597+ if Assigned(logdatei) then
1598+ logdatei.log(' Import property JSONString: ' + JSONString, LLDebug);
15911599 if jsonIsArray(JSONString) then
15921600 begin
1593- aktproperty := TPProperty.Create;
1601+ aktProduct.properties.Clear;
1602+ // if Assigned(logdatei) then
1603+ // logdatei.log('count: ' + inttostr(jsonAsArrayCountElements(JSONString) - 1), LLDebug);
1604+ // if jsonAsArrayCountElements(JSONString) > 0 then
15941605 for i := 0 to jsonAsArrayCountElements(JSONString) - 1 do
15951606 begin
1607+ aktproperty := TPProperty.Create;
15961608 jsonAsArrayGetElementByIndex(JSONString, i, JSONObjString);
1609+ // if Assigned(logdatei) then
1610+ // logdatei.log('JSONObjString: ' + JSONObjString, LLDebug);
15971611 aktproperty := aktProduct.properties.Add;
1598- DeStreamer.JSONToObject(JSONObjString, aktproperty);
1599-
1612+ // DeStreamer.JSONToObject(JSONObjString, aktproperty);
1613+ DeStreamer.JSONToObject(JSONObjString, aktProduct.properties.Items[i]);
1614+ if Assigned(logdatei) then
1615+ logdatei.log(' Property_Name: ' +
1616+ aktProduct.properties.Items[i].Property_Name, LLDebug);
16001617 end ;
1601- if Assigned(aktproperty) then FreeAndNil(aktproperty);
16021618 end ;
16031619 end ;
16041620 deactivateImportMode;
0 commit comments