@@ -328,10 +328,28 @@ int main(int argc, char* argv[])
328328 std::string sPackageFileOnly = getFileNameFromPath (sPackageFileName );
329329 addEntry (entries, entryNames, sPackageFileOnly , sPackageFileName , " package xml" , 0 );
330330
331+ bool bAddedServerBinary = false ;
332+ #ifndef _WIN32
331333 addEntry (entries, entryNames, " amc_server" , sPackageDir + " amc_server" , " server binary" , makeExternalAttributesForFile (0755 ));
334+ bAddedServerBinary = true ;
335+ #else
336+ if (AMCCommon::CUtils::fileOrPathExistsOnDisk (sPackageDir + " amc_server" )) {
337+ addEntry (entries, entryNames, " amc_server" , sPackageDir + " amc_server" , " server binary" , makeExternalAttributesForFile (0755 ));
338+ bAddedServerBinary = true ;
339+ }
340+ #endif
341+
342+ if (!bAddedServerBinary) {
343+ addOptionalEntryFromPackage (entries, entryNames, sPackageDir , " amc_server.exe" );
344+ addOptionalEntryFromPackage (entries, entryNames, sPackageDir , " amc_win32.exe" );
345+ bAddedServerBinary = AMCCommon::CUtils::fileOrPathExistsOnDisk (sPackageDir + " amc_server.exe" ) ||
346+ AMCCommon::CUtils::fileOrPathExistsOnDisk (sPackageDir + " amc_win32.exe" );
347+ }
348+
349+ if (!bAddedServerBinary)
350+ throw std::runtime_error (" missing server binary file" );
351+
332352 addRequiredEntryFromPackage (entries, entryNames, sPackageDir , " amc_server.xml" , " server configuration" );
333- addOptionalEntryFromPackage (entries, entryNames, sPackageDir , " amc_server.exe" );
334- addOptionalEntryFromPackage (entries, entryNames, sPackageDir , " amc_win32.exe" );
335353 addEmptyEntry (entries, entryNames, " data/" , makeExternalAttributesForDirectory (0755 ));
336354 addEmptyEntry (entries, entryNames, " temp/" , makeExternalAttributesForDirectory (0755 ));
337355
0 commit comments