none
C#開發時用發行精靈產生問題 RRS feed

  • 問題

  • 我練習用c#開發一個小程式。

    開發時不小心使用了發行精靈發行。(因為第一次使用,所以就用預設的來進行設定)

    結果將程式放到網站上,結果我朋友下載時說無法使用。(啟動時會掛掉)

    我查了一下,發現產生的執行檔多了.manifest檔。(那個檔案好像是我用發行精靈還是ClickOnce產生的)

    結果我手動將ClickOnce關掉,果然就沒有那支.manifest檔。

    我再一次將程式放到網站上供朋友下載,結果我朋友反應說我的程式會被Win8的SmartScreen判斷成有風險程式。

    想請問這個問題該如何解決?

    (雖然繼續執行仍是可以執行,但我覺得這是我程式的一個bug。所以我想跟各位請教,這問題該如何解決。)

    謝謝

    2014年12月5日 上午 07:57

所有回覆

  • 很多正常的程式都會被 SmartScreen 判斷成有風險程式。

    http://windows.microsoft.com/zh-tw/internet-explorer/use-smartscreen-filter#ie=ie-11

    注意這段話:

    SmartScreen 也會根據許多 Internet Explorer 使用者所下載的已知檔案的檔案清單,來檢查您下載的檔案。 若您下載的檔案不在清單中,SmartScreen 會警告您。


    理直氣和,切記。

    推廣

    微軟免費中文影音線上教學網站

    2014年12月5日 上午 08:21
  • 非常感謝您的回答。

    我會想要詢問是因為。

    第一次我上傳供他下載時,並沒有跳出SmartScreen的警告。

    而後來我做了上述步驟(用發行精靈發行並手動關閉ClickOnce)之後,就出現SmartScreen警告。

    想請教那這是什麼原因呢?

    2014年12月5日 上午 08:38
  • 它的判斷是黑箱作業 ...

    http://windows.microsoft.com/zh-tw/internet-explorer/use-smartscreen-filter#ie=ie-11


    理直氣和,切記。

    推廣

    微軟免費中文影音線上教學網站

    2014年12月5日 上午 10:49
  • 1) 發行後無法使用, 發行時需要使用真實的IP, 也就是外部可以連到的IP才會成功, 用localhost或是192.168之類的IP外部都無法成功連線

    2) 判斷成有風險, 這是.NET平台預設的保護

    2014年12月6日 上午 09:30
  • 感謝您的回覆。

    如果要讓SmartScreen不會判斷成有風險,是否只有用簽署ClickOnce才能解決。

    2014年12月8日 上午 01:37
  • 用ClickOnce, 採用預設的[完全信任]權限可以解決
    2014年12月8日 上午 04:07
  • 感謝您的回覆。

    如果使用ClickOnce的話會產生manifest檔,而manifest檔會造成程式在另外一台無法執行的狀況。

    想請教manifest檔會無法造成執行的狀況,該如何解決。

    2014年12月8日 上午 10:51
  • 如果您是要發行到另外一台電腦, 要重新發行到另外一台電腦, 不能用複製檔案的做法

    2014年12月9日 上午 04:24