void msigetpropertybyopenpackage()
tchar* szvaluebuf = null;
dword cchvaluebuf = 0;
uint uistate =msigetproperty(msihandle, text("productname"), text(""), &cchvaluebuf);
if (error_more_data == uistate) }
msiclosehandle(msihandle);
}
呼叫msiopenpackage函式來獲取msihandle值,然後就可以獲取屬性值,msiopenpackage使用的時候會開啟msi檔案,會看到程式執行時的介面,再呼叫msiclosehandle(hinstall)函式就關閉msi檔案,也會看到msi程式執行介面消失。
用該方法的時候就會看到有msi瞬間閃現安裝介面,體驗感覺不好
因此使用msiopendatabase開啟msi檔案,然後再獲取,後面相繼使用msidatabaseopenview,msiviewexecute,msiviewfetch,msirecordgetstring等方法,
使用msiclosehandle關閉開啟的msi控制代碼。
bool getmsipropertyproductversion(cstring strmsiname, cstring &strver )
msihandle hview = null;
msidatabaseopenview(hmsihandle, _t("select * from property where property = 'productversion'"), &hview);
msihandle hrecord = null;
msiviewexecute(hview, hrecord);
if (msiviewfetch(hview, &hrecord) == error_success)
; tchar szvalue[max_path]=;
dword dwstringlen = max_path;
msirecordgetstring(hrecord, 1, szname, &dwstringlen);
dwstringlen = max_path;
msirecordgetstring(hrecord, 2, szvalue, &dwstringlen );
printf("%s\t:%s\r\n", t2a(szname), t2a(szvalue));
strver = szvalue;
msiclosehandle(hview);
msiclosehandle(hmsihandle);
return true;
} msiclosehandle(hview);
msiclosehandle(hmsihandle);
return false;
}uint getmsiallproperty(cstring strmsiname )
msihandle hview = null;
msidatabaseopenview(hmsihandle, _t("select * from property"), &hview);
msihandle hrecord = null;
msiviewexecute(hview, hrecord);
while(msiviewfetch(hview, &hrecord) == error_success)
; tchar source[max_path]=;
dword dwstringlen = max_path;
msirecordgetstring(hrecord, 1, szvaluebuf, &dwstringlen);
dwstringlen = max_path;
msirecordgetstring(hrecord, 2, source, &dwstringlen );
printf("%s\t:%s\r\n", t2a(szvaluebuf), t2a(source));
} msiclosehandle(hview);
msiclosehandle(hmsihandle);
return 1;
}
jQuery 獲取內容和屬性
jquery 擁有可操作 html 元素和屬性的強大方法。jquery 中非常重要的部分,就是操作 dom 的能力。jquery 提供一系列與 dom 相關的方法,這使訪問和操作元素和屬性變得很容易。dom document object model 文件物件模型 dom 定義訪問 html 和 x...
msi檔案的指令碼安裝
在我們日常的開發環境的搭建中,我們有時候需要安裝很多的msi檔案,如果能把這些msi檔案的安裝自動化,我們就不用乙個乙個的雙擊,然後一步一步地安裝。介紹一下msi檔案 說到msi檔案,不得不先說說windows installer,它不只是安裝程式,而是可擴充套件的軟體管理系統。windows in...
jQuery 獲取內容和屬性的方法
jquery 擁有可操作 html 元素和屬性的強大方法。獲得內容 text html 以及 val 三個簡單實用的用於 dom 操作的 jquery 方法 text 設定或返回所選元素的文字內容 html 設定或返回所選元素的內容 包括 html 標記 val 設定或返回表單字段的值 下面的例子演...