Я создавал надстройку Office с использованием инструментов Visual Studio для Office, а часть развертывания/установки надстройки создает записи реестра Windows для нее. Visual Studio автоматически создает эти записи реестра для разработчика, когда он или она создает надстройку, но они должны быть созданы другими средствами (например, установщиком), когда надстройка устанавливается/развертывается на конце -пользователь. Вот пример записи в реестре, которую я задаю:
Manifest REG_SZ file:///C:/Users/Ryan/Office Projects/C%23/MyProject/addin.vsto
Как программно воссоздать такую кодировку? Я предполагаю, что это не URL кодирования, так как двоеточие (:
) не изменяется в %3A
, пространства не изменяются в %20
с, однако # в "С#" включен в к %23
... так, что делать Я называю этот тип кодирования, и как бы я перевел абсолютный путь к файловой системе в этот тип кодирования для целей создания моего собственного установщика, который писал бы такую запись в реестре?
Я думаю, что Uri
- это то, что ты хочешь. Этот пример:
Debug.WriteLine(new Uri(@"C:\Test\c#file.txt").ToString());
// outputs: file:///C:/Test/c%23file.txt