Как автоматически переименовать папку «Файлы приложения» в развертывании ClickOnce - PullRequest
3 голосов
/ 27 мая 2009

В настоящее время мы используем Visual Studio для создания наших пакетов развертывания ClickOnce, но мы хотели бы переименовать «Файлы приложений», поскольку используемый нами веб-сервер не поддерживает пробелы.

Мы обнаружили, что, если мы перейдем непосредственно к файлу .application, мы можем изменить указанный путь и переименовать папку вручную.

Кто-нибудь знает способ автоматизировать это, используя MageUI или любую другую утилиту? Соблазнительно просто собрать пакетный скрипт, который вносит изменения для нас. Развертывание также использует неподписанные файлы, так как нам не нужно беспокоиться о сертификате (это только внутреннее приложение)

Ответы [ 2 ]

2 голосов
/ 10 июня 2009

Поскольку никто, кажется, не знает ответа на этот вопрос, я нашел способ сделать это сам. Я создал скрипт powershell. Обратите внимание, что это будет работать только для неподписанных манифестов.

gci -Recurse -include *.application | ForEach-Object { [System.IO.File]::WriteAllLines($_.FullName, [System.IO.File]::ReadAllText($_.FullName).Replace("Application Files", "ApplicationFiles")) }
gci -recurse | Where {$_.psIsContainer -eq $true} | Where {$_.Name -eq "Application Files"} | ForEach-Object { $_.MoveTo($_.FullName.Replace("Application Files", "ApplicationFiles")) }

Мой PowerShell не удивителен, так что, возможно, есть лучший способ сделать это, но это то, что я придумал

0 голосов
/ 05 июня 2010

Сначала попробуйте это вручную.

Публикация приложения в папке (укажите для местоположения публикации что-то вроде C: \ publish и правильно укажите URL-адрес установки, например http://myserver/myapp/).

Затем перейдите и переименуйте файлы приложения в ApplicationFiles в C: \ publish.

Перейдите в папку C: \ publish \ ApplicationFiles \ yourapp_a_b_c_d \ и удалите yourapp.application. (Поверьте мне, если вы этого не сделаете, mageui сойдет с ума, когда вы повторно добавите файлы).

Запустите MageUI (он находится в c: \ program files \ microsoft sdks \ windows \ v7.0a \ bin или v6.0a \ bin, в зависимости от используемой версии VS).

В MageUI нажмите Open, найдите c: \ publish \ ApplicationFiles \ yourapp_a_b_c_d \ yourapp.exe.manifest и откройте его (где a_b_c_d - ваша версия, а yourapp - имя вашего приложения).

Вы должны увидеть имя и прочее. Нажмите на файлы. Убедитесь, что «при заполнении добавить расширение развертывания ...» отмечено, затем нажмите «Заполнить» (хотя, если подумать, все должны иметь это расширение, если вы не изменили его в VS). Это добавит все файлы в папке в манифест приложения /

Сохраните и подпишите манифест приложения.

Затем снова откройте clck, откройте c: \ publish \ yourapp.application.

Нажмите «Справочник по приложению». Справа нажмите «Выбрать манифест». Перейдите к тому, который вы только что отредактировали (C: \ publish \ ApplicationFiles \ yourapp_a_b_c_d \ yourapp.exe.manifest). Это обновляет манифест развертывания, чтобы он мог найти список файлов в правильном манифесте приложения. Сохраните и подпишите манифест развертывания (yourapp.application).

Скопируйте папки на веб-сервер, он должен работать.

Теперь, если это работает для вас, вы можете заменить материал mageui командами Mage и, возможно, сделать несколько простых сценариев, чтобы скопировать файлы в новую папку или переименовать «Файлы приложений» в «Файлы приложений».

Я могу предоставить вам команды мага, если они вам нужны.

...