Я столкнулся с этой проблемой при попытке собрать МСМ.Очевидно, что свойства модуля (и все идентификаторы в этом отношении) переименовываются во время генерации модуля путем добавления GUID модуля в конце его имени.Например, свойство «MY_PROPERTY» переименовывается в «MY_PROPERTY.803A3089_928F_46F1_BBAE_CBD39A7D6A72» (при условии, что 803A3089-928F-46F1-BBAE-CBD39A7D6A72 является GUID модуля).Я полагаю, что это механизм, используемый для предотвращения конфликтов между несколькими модулями, пытающимися использовать идентификаторы с одним и тем же именем.
Изнутри MSM мне нужно вызвать специальное действие DLL, которое требует, чтобы определенное свойство было установлено с некоторымизначение (назовем это «THE_PROPERTY»).Проблема в том, что THE_PROPERTY переименовывается, как описано выше, в THE_PROPERTY.803A3089_928F_46F1_BBAE_CBD39A7D6A72, поэтому настраиваемое действие никогда не находит свойство и завершается неудачей.
Есть ли способ решить эту проблему?Я думал об изменении пользовательского действия, чтобы оно попыталось (каким-то образом) определить GUID модуля, из которого оно вызывается.Одним из способов сделать это может быть просмотр текущего имени действия, которое также должно включать GUID.Но можно ли получить имя текущего действия из пользовательского действия?Можете ли вы придумать другое решение?
Спасибо!