2014-09-23 1 views
1

Я создавал надстройку Office с помощью инструментов Visual Studio для Office, а часть развертывания/установки надстройки создает записи реестра Windows для нее. Visual Studio автоматически создает эти записи реестра для разработчика, когда он или она создает надстройку, но они должны быть созданы другими средствами (например, установщиком), когда надстройка устанавливается/развертывается на конце -исполнительная машина. Ниже приведен пример записи реестра Я вопросительно:Какая кодировка - это и как я ее программно создаю?

Manifest REG_SZ file:///C:/Users/Ryan/Office Projects/C%23/MyProject/addin.vsto 

Как программно воссоздать этот вид кодирования? Я предполагаю, что это не кодировка URL, потому что двоеточие (:) не изменено на %3A, пробелы не меняются на %20 s, однако # в «C#» повернут в %23 ... так что я называю это тип кодирования, и как бы я перевел абсолютный путь к файловой системе в этот тип кодирования для создания моего собственного установщика, который мог бы написать такую ​​запись реестра?

ответ

2

Я думаю, Uri - это то, что вы хотите. Этот пример:

Debug.WriteLine(new Uri(@"C:\Test\c#file.txt").ToString()); 
// outputs: file:///C:/Test/c%23file.txt 
+0

Это все еще таинственная мне, почему Visual Studio создал запись реестра с пробелами в имени пути, в то время как класс Uri преобразует пробелы в% 20, но я уверен, что класс Uri будет делать просто отлично все же. У меня есть подозрение, что он будет работать с пробелами * или *% 20s ... Я проверю его с помощью приложения Office. –

Смежные вопросы