我在我的应用程序中集成了面向android v3.5的Facebook SDK,并包含了安装发布代码:
com.facebook.AppEventsLogger.activateApp(this);
Run Code Online (Sandbox Code Playgroud)
但我收到了很多由以下原因引起的崩溃:
Settings.java line 418
com.facebook.Settings.getAttributionId
Run Code Online (Sandbox Code Playgroud)
而它正在抛出异常:
java.lang.IllegalStateException: Orca SharedPreferences used before initialized
Run Code Online (Sandbox Code Playgroud)
我一直试图重现崩溃但没有成功.有人遇到过这个问题吗?我只是想知道:
/* Only activate FaceBook publish install if the user has the FaceBook app installed */
if (com.facebook.Settings.getAttributionId(getContentResolver()) != null){
com.facebook.AppEventsLogger.activateApp(this);
}
Run Code Online (Sandbox Code Playgroud)
这会解决问题吗?谢谢!
我正在使用这些Microsoft.Deployment.WindowsInstaller库从 .msi 文件中读出值。属性没问题,summary-information也可以读出,例如:
static void Main(string[] args)
{
using (var database = new QDatabase(@"C:\myMsi.msi", DatabaseOpenMode.ReadOnly))
{
Console.WriteLine(database.ExecutePropertyQuery("ProductVersion"));
Console.WriteLine(database.ExecutePropertyQuery("ProductName"));
Console.WriteLine(database.ExecutePropertyQuery("Manufacturer"));
Console.WriteLine(database.ExecutePropertyQuery("ARPREADME"));
}
}
Run Code Online (Sandbox Code Playgroud)
该QDatabase对象甚至有一个很好的SummaryInfo属性,保存摘要信息。但是,我还没有找到如何获取 .MSI 所针对的平台。
好像可以读出平台,因为Orca也是这样做的(在Orca中打开Summary Information就可以看到平台)。
我怎样才能获得 .msi 所针对的平台?
我正在使用Visual Studio安装项目进行部署.这可能听起来像是禁止,但我有一个特定的要求,卸载程序不要在添加/删除程序中注册.有什么我可以做的,以防止安装程序注册其卸载程序?
如果没有更好的东西,我甚至准备好基于Orca的解决方案.
我正在尝试简化安装后需要更改注册表的软件包的安装。我希望能够将注册表更改添加到 MSI 中(我没有编写代码,我只是尝试编辑现有的 MSI)并将其远程部署,然后就可以完成它。
谁能提供一些关于如何执行此操作的好例子?此外,如果您推荐有关修改 MSI 的书籍或对 Microsoft 提供的内容进行深入解释的网站,我们将不胜感激。
谢谢,
我根据以下教程编写了一个Windows Installer自定义操作:http: //www.codeproject.com/kb/install/msicustomaction.aspx
我的自定义操作是杀死给定名称的后台进程,该进程仍可由用户打开.原因是我不希望用户看到给定EXE正在运行的警告,必须关闭才能继续安装.当MSI通过UI序列时,这可以正常工作,就像在教程中的"InstallUISequence"表中创建操作一样.
但是,当静默使用MSI(右键单击并选择修复或卸载)时,我的自定义操作当然不会执行.
我必须在哪里放置自定义操作,以便在静默运行时立即执行?
我尝试将其添加到"InstallExecuteSequence",但仍会显示"app running"警告.然后我尝试将自定义操作的序列号降低到5,但这也没有帮助.
注意:
我正在使用Orca来修改从Visual Studio安装项目生成的MSI.然后我使用转换文件来应用它.