def filename(name):
return name.split('.')[0]
list2_filenames = [filename(name) for name in list2]
found_filenames = [name for name in list1 if filename(name) in list2_filenames]
ClickOnce идеально подходит для этого вида сценария.
ClickOnce является хорошим решением, но если Вы хотите иметь полный контроль затем, Вы можете самокрутка. Я предложил бы опросить веб-сервис, чтобы найти, существуют ли более поздние доступные версии, загружая требуемые файлы на бок о бок каталог, и с помощью средства запуска (или обновляя ярлык) для автоматического запуска последней версии.
Это немного сложно, но обслуживает ситуации, куда приложение может работать и не может поэтому быть перезаписано.