c23b8bfd718c12a54457a31856cfe792de73ab21
1 #include "unattended.h"
8 BOOL
CmdParser(LPWSTR lpCmdLine
)
11 LPWSTR
* argv
= CommandLineToArgvW(lpCmdLine
, &argc
);
14 if (!argv
|| argc
< 2)
19 // Setup key - single app expected
20 // TODO: add multiple apps
21 // TODO: use DB filenames as names because they're shorter
24 ATL::CSimpleArray
<ATL::CStringW
> arrNames
;
25 if (!StrCmpW(argv
[0], CMD_KEY_INSTALL
))
27 for (int i
= 1; i
< argc
; ++i
)
29 arrNames
.Add(argv
[i
]);
33 if (!StrCmpW(argv
[0], CMD_KEY_SETUP
))
35 //TODO: inf file loading
36 HINF InfHandle
= SetupOpenInfFileW(argv
[1], NULL
, INF_STYLE_WIN4
, NULL
);
37 if (InfHandle
== INVALID_HANDLE_VALUE
)
43 if (!SetupFindFirstLineW(InfHandle
, L
"RAPPS", L
"Install", &Context
))
48 WCHAR szName
[MAX_PATH
];
51 if (SetupGetStringFieldW(&Context
, 1, szName
, MAX_PATH
, NULL
))
56 while (SetupFindNextLine(&Context
, &Context
));
57 SetupCloseInfFile(InfHandle
);
61 apps
.EnumAvailableApplications(ENUM_ALL_AVAILABLE
, NULL
);
62 ATL::CSimpleArray
<PAPPLICATION_INFO
> arrAppInfo
= apps
.FindInfoList(arrNames
);
63 if (arrAppInfo
.GetSize() > 0)
65 CDownloadManager::DownloadListOfApplications(arrAppInfo
, TRUE
);