安裝程式「發布者 未知 」問題

2021-06-27 22:31:53 字數 1226 閱讀 6749

在開發人員打包安裝程式後,在測試安裝程式時,會發現作業系統報出如下的錯誤:

您想允許來自未知發布者的以下程式對此計算機進行更改嗎?

發布者:未知

這是微軟作業系統中使用者帳戶控制的功能。

使用者帳戶控制(user account control,簡寫作uac)是微軟公司在其windows vista及更高版本作業系統中採用的一種控制機制。其原理是通知使用者是否對應用程式使用硬碟驅動器和系統檔案授權,以達到幫助阻止惡意程式(有時也稱為「惡意軟體」)損壞系統的效果。

在安裝或執行程式過程中,對計算機做出需要管理員級別許可權的更改時,uac 會通知你。如果你是管理員,則可以單擊「是」以繼續。如果你不是管理員,則必須輸入管理員密碼才能繼續。如果你授予許可權,則將暫時具有管理員許可權來完成任務,任務完成後,恢復標準使用者許可權。這樣,即使使用的是管理員帳戶,在不知情的情況下計算機將不接受任何更改,從而幫助防止在計算機上安裝惡意軟體和間諜軟體、或者對計算機做出任何更改。

對於普通使用者來說,這個功能雖然保證了系統的安全性,但是可能會覺得很煩人,要避免這個問題,只需要降低uac的級別就可以解決,具體可以參考:

但是對於軟體發布者來說,如果你的安裝程式出現該提示,其實會很影響使用者的體驗,從發布者的角度要解決這個問題,就需要對發布的**進行微軟**簽名認證。參考總結起來就是:

首先,在對**簽名之前,需要獲得由ca(certificate authority,數字證書認證機構)簽發的**簽名證書。選擇乙個ca,登入到它的**,找到**簽名證書,通常步驟是:1、要求你輸入你的公司或個人的資訊。2為證書付費。3、獲得私鑰檔案*.pvk。私鑰需要輸入乙個密碼(pvk-password),這個密碼需要妥善保管。

在獲得私鑰的同時,會同時生成公鑰上傳到ca,ca會審核你的機構,在審核完成後,會簽發軟體發布證書(software publishing certificate)*.spc。

最後,你所擁有的就包括:私鑰檔案*.pvk、私鑰密碼、軟體發布證書*.spc。

以上會步驟根據不同的認證機構有所不同。

在取得這些證書之後,就可以用來對你的安裝程式進行簽名,在installshield中,就可以看到打包的選項中的signing就是用來進行簽名的。

發布者 訂閱者模型

發布者和訂閱者模型是軟體架構中的訊息模式。1.第一種是1 n,乙個發布者對應多個訂閱者。例如匯率和rss 2.第二種是n 1,多個發布者對應乙個訂閱者。例如收集狀態,歷史記錄和資料。3.第三種是1 1,特定發布者對應特定訂閱者。例如 4.第四種是n n,多個發布者對應多個訂閱者。例如微博的話題。而在...

訂閱 發布者模式 JavaScript

具體模式內容介紹網上能搜得到一堆堆.下面就是貼出下自己倒騰的 內容.function global 儲存狀態資料 發布 this.publish function type param is not define return obj type foreach value 訂閱 this.subsc...

(十三)ROS發布者和訂閱者

參考 本文實現發布者和訂閱者,發布者發布資訊,資訊的內容是編號,訂閱者訂閱發布者訊息,並將解析出來的編號儲存為檔案 直接上 新建發布者節點 include ros ros.h include std msgs string.h include int main int argc,char argv ...