Базовое имя и функции dirname - то, что Вы после:
mystring=/foo/fizzbuzz.bar
echo basename: $(basename "${mystring}")
echo basename + remove .bar: $(basename "${mystring}" .bar)
echo dirname: $(dirname "${mystring}")
произвел:
basename: fizzbuzz.bar
basename + remove .bar: fizzbuzz
dirname: /foo
Файл манифеста описывает, как ваше приложение должно работать. Из MSDN :
Каждая сборка, статическая или динамическая, содержит набор данных, описывающих, как элементы в сборке соотносятся друг с другом. Манифест сборки содержит эти метаданные сборки. Манифест сборки содержит все метаданные, необходимые для определения требований к версии сборки и удостоверения безопасности, а также все метаданные, необходимые для определения области сборки и разрешения ссылок на ресурсы и классы. Манифест сборки может храниться либо в PE-файле (EXE или DLL) с кодом промежуточного языка Microsoft (MSIL), либо в автономном PE-файле, который содержит только информацию о манифесте сборки.
Поэтому их удаление, вероятно, неправильный поступок, особенно если вы хотите, чтобы ваше приложение запускалось с повышенными привилегиями по умолчанию в Vista и более поздних версиях.
Здесь приведены сведения из MSDN об использовании инструмента mt, который является используется для встраивания манифеста в ваше приложение.
Также обратите внимание на действительно интересную проблему , касающуюся кеширования манифеста в Vista и более поздних версиях, которая выглядит как настоящая ошибка.
Это необходимо с целью
указания требований к версии сборки и идентификатора безопасности, и все метаданные, необходимые для определения объем сборки и решение ссылки на ресурсы и классы
Также, назад, когда VS2003 использовался, и вы хотите, чтобы ваши элементы управления были больше похожи на интерфейс XP, манифест будет содержать общие элементы управления с соответствующей версией 6.x, которая используется вместе с вашим приложением, тогда графический интерфейс приобретает "красивый обновленный вид и ощущение XP " вместо старых неуклюжих элементов управления Windows 2000. По этой причине вы можете встроить манифест как ресурс, поэтому вам не придется таскать с собой файл манифеста (хорошо, это довольно маленький файл), но, тем не менее, это делает дистрибутив приложения более аккуратным.
А также, была ошибка в среде выполнения .NET 1.1 (теперь исправленная в версии 2.0+), когда, если в вашем приложении используется манифест, не удается обновить графический интерфейс, чтобы придать ему больше внешнего вида XP. В то время обходной путь заключался в вызове Application.DoEvents перед выполнением Application.Run (new form ());
Теперь, в Vista и Win 7, манифест используется для указания повышенные разрешения для обхода UAC, тем самым сводя к минимуму вероятность того, что Vista / Win 7 будет вынуждена открывать диалоговое окно UAC.
вы можете встроить манифест как ресурс, поэтому вам не придется таскать с собой файл манифеста (хорошо, это довольно маленький файл), но, тем не менее, это делает дистрибутив приложения более аккуратным.Кроме того, была обнаружена ошибка в среде выполнения .NET 1.1 (теперь исправлено в версии 2.0+), где, если в вашем приложении используется манифест, не удается обновить графический интерфейс, чтобы придать ему более внешний вид XP. В то время обходной путь заключался в вызове Application.DoEvents перед выполнением Application.Run (new form ());
Теперь, в Vista и Win 7, манифест используется для указания повышенные разрешения для обхода UAC, тем самым сводя к минимуму вероятность того, что Vista / Win 7 будет вынуждена открывать диалоговое окно UAC.
вы можете встроить манифест как ресурс, поэтому вам не придется таскать с собой файл манифеста (хорошо, это довольно маленький файл), но, тем не менее, это делает дистрибутив приложения более аккуратным.Кроме того, была обнаружена ошибка в среде выполнения .NET 1.1 (теперь исправлено в версии 2.0+), где, если в вашем приложении используется манифест, не удается обновить графический интерфейс, чтобы придать ему более внешний вид XP. В то время обходной путь заключался в вызове Application.DoEvents перед выполнением Application.Run (new form ());
Теперь, в Vista и Win 7, манифест используется для указания повышенные разрешения для обхода UAC, тем самым сводя к минимуму вероятность того, что Vista / Win 7 будет вынуждена открывать диалоговое окно UAC.
Кроме того, в среде выполнения .NET 1.1 была ошибка (теперь исправленная в версии 2.0+), из-за которой, если в вашем приложении используется манифест, не удается обновить графический интерфейс, чтобы придать ему больше стиля XP. В то время обходной путь заключался в вызове Application.DoEvents перед выполнением Application.Run (new form ());
Теперь в Vista и Win 7 манифест используется для указания повышенные разрешения для обхода UAC, тем самым сводя к минимуму вероятность того, что Vista / Win 7 будет вынуждена открывать диалоговое окно UAC.
Кроме того, в среде выполнения .NET 1.1 была ошибка (теперь исправленная в версии 2.0+), из-за которой, если в вашем приложении используется манифест, не удается обновить графический интерфейс, чтобы придать ему больше стиля XP. В то время обходной путь заключался в вызове Application.DoEvents перед выполнением Application.Run (new form ());
Теперь, в Vista и Win 7, манифест используется для указания повышенные разрешения для обхода UAC, тем самым сводя к минимуму вероятность того, что Vista / Win 7 будет вынуждена открывать диалоговое окно UAC.