2016-05-06 130 views
1

我創建了winforms程序,現在我想發佈(build?deploy?)它。到目前爲止,我用ClickOnce發佈了它並安裝了它,結果如下:enter image description here 是否有可能將所有這些文件除了其他文件夾中的可執行文件(可以是Resources,bin或其他)?在那裏簡單地移動文件會引發錯誤,因爲我相信可執行文件無法訪問它們,因爲未定義新路徑。到目前爲止,我的想法是爲.exe創建一個簡單的快捷方式,或者創建一個新的可執行文件來運行將在其他文件夾中的主要.exe文件,但那不是我正在尋找的。發佈winforms應用程序

我正在使用Visual Studio 2015社區。我還遇到了一個名爲Install Shield的程序,它允許我創建自定義安裝程序,但我找不到有關我的問題的任何信息。

編輯。這是我用ClickOnce文件發佈的樣子: enter image description here

+0

這是你的建立目錄嗎? 'ClickOnce'發佈目錄不是這麼混亂。 – adv12

+0

是的,這正是我從ClickOnce獲得的。 – JanRad

+0

你的意思是你在主項目的Properties頁面的「Publish」標籤頁上點擊了「Publish Now」按鈕,這就是被轉儲到標籤爲「Publishing Location」的目錄的原因嗎?或者你的意思是你做了一個構建,然後在項目目錄的「bin/Release」或「bin/Debug」子目錄中查看,這就是你所看到的? – adv12

回答

1

是的,你可以在ClickOnce的子文件夾中有dll,但是你不能移動文件。這是因爲ClickOnce應用程序使用描述部署的每個文件的.manifest文件。如果清單與部署目錄不匹配,ClickOnce將會嚇倒。這是一個安全問題。

我不知道任何通過Visual Studio的Publish界面自動執行此操作的方法,但是在生成應用程序後,請查看Mage.exe和MageUI.exe工具,以便您可以編輯您的清單以包含文件子文件夾。